{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import seaborn as sns\n",
    "import pandas as pd\n",
    "sns.set(font_scale=1.5)\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn import linear_model\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from sklearn.metrics import mean_absolute_error\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "from sklearn.pipeline import Pipeline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# set numpy random seed so that this notebook is deterministic\n",
    "np.random.seed(23)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Classification"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal_length</th>\n",
       "      <th>sepal_width</th>\n",
       "      <th>petal_length</th>\n",
       "      <th>petal_width</th>\n",
       "      <th>species</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>139</th>\n",
       "      <td>6.9</td>\n",
       "      <td>3.1</td>\n",
       "      <td>5.4</td>\n",
       "      <td>2.1</td>\n",
       "      <td>virginica</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>125</th>\n",
       "      <td>7.2</td>\n",
       "      <td>3.2</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1.8</td>\n",
       "      <td>virginica</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>5.8</td>\n",
       "      <td>2.7</td>\n",
       "      <td>4.1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>versicolor</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>113</th>\n",
       "      <td>5.7</td>\n",
       "      <td>2.5</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>virginica</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     sepal_length  sepal_width  petal_length  petal_width     species\n",
       "139           6.9          3.1           5.4          2.1   virginica\n",
       "125           7.2          3.2           6.0          1.8   virginica\n",
       "67            5.8          2.7           4.1          1.0  versicolor\n",
       "3             4.6          3.1           1.5          0.2      setosa\n",
       "113           5.7          2.5           5.0          2.0   virginica"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris_data = pd.read_csv(r\"data_set\\iris.csv\")\n",
    "iris_data.sample(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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MolIsbGxzJgxg0suuSSofMWKFQC0bds2HGGJEz744AN++OEHHnvssXCHIk6xe/duLMsiPj6e+++/n27dunHJJZfw+OOP43K5wh1e2EkyEQBs3ryZ119/nWHDhtGmTZtwhxOxDhw4wMyZM3n88cdJTEwMdzjiFDk5OQBMnTqV+vXrM3fuXO69914+/vhjwrhebq0hfSaCDRs2cNddd9G0aVOefvrpcIcTsSzLYvr06QwaNIiRI0eGOxxxGq/XC8DFF1/M448/DsCll16KZVnMmjWLKVOm0KxZs3CGGFZSM4lwn376KZMnT6Zx48a888471K9fP9whRax3332XXbt2MX36dHw+Hz6fL7BV9an/LcIjJsa/md7AgQODyvv3749lWezatSscYdUaUjOJYG+//TazZs2iV69ezJkzp8ytkkXN+fzzz8nNzaV///4hz3Xu3JmZM2dy7bXXhiEyAdCyZUsAPB5PUHlpjeXUTvlIJMkkQn3wwQc899xzXH755cyaNQu73R7ukCLek08+GTL5bc6cOezYsYOXX36Zpk2bhikyAdCmTRuaNGnCp59+yo033hgo/+qrr9B1ne7du4cxuvCTZBKBsrOzeeaZZ2jSpAkTJ05k+/btQc83b95cOn/DoKwN3hISErDb7XTp0iUMEYlTKYpCeno6Dz74IOnp6Vx77bVs27aNuXPnMmnSpIj/zEgyiUD//ve/KSkp4cCBA0ycODHk+dmzZzN27NgwRCZE7Xb55Zdjt9uZM2cOd955J0lJSUyZMoU777wz3KGFney0KIQQotJkNJcQQohKk2QihBCi0iSZCCGEqDRJJkIIISpNkokQQohKk2QihBCi0iSZCHEO2dnZFBcXV/i8SZMmMWTIkAqfN3XqVDp06FDh86qDaZrs378/8HjRokV06NCBtWvXhjEqURtJMhHiLFatWsWoUaMCy49HksLCQm644QY++uijcIci6gBJJkKcxZYtW8jPzw93GGFx/Phxtm7dGu4wRB0hyUQIIUSlSTIRF5whQ4bw6KOP8sEHHzB06FC6devG+PHj+e6774KO27hxI5MnT6Z79+50796dW2+9lS1btgSenzp1Ki+//DIAQ4cOZdKkSYHnli1bxk033cQll1xCWloaQ4YMYfbs2SHLk1eVw4cP8/DDD9OnTx+6dOnC1VdfzZIlS4KOmTp1KqNGjWLLli3cdNNNdO3alb59+/L000+HbCu7Z88e7r77bnr06EHv3r15+umnef/99+nQoQP79+9n7dq1DB06FICXX345UF4qOzub9PR0evTowcUXX8yUKVM4ePBgtbx3UTfIQo/igvTNN9+wZMkSJk2aRHJyMgsXLuS2227jrbfeolevXqxZs4Y777yTjh07ct999+HxeFi0aBETJ07k7bffpkePHowbN47CwkKWL1/OtGnTaNeuHeBfvn/GjBkMGTKE9PR0vF4vy5cv569//SvR0dHcc889VfpesrKyuP7667Esi0mTJhEfH8+XX37J7373O44cOcJtt90WODYnJ4df//rXjB49mquuuorVq1czf/587HY7Dz/8MAAHDx4MLKF+6623ous67777Lp988kngddq0acO0adOYOXMmw4cPZ/jw4UGr4k6fPp0ePXqQnp7OTz/9xIIFC9i/fz8ff/xxlb53UYdYQlxgBg8ebLVv395avnx5oCw7O9vq0aOHdcMNN1iGYVhDhw61xo8fb/l8vsAxRUVF1vDhw62xY8cGyl566SWrffv2VmZmZqBs1KhR1rhx4yzTNANlXq/XGjhwoHXFFVcEym666SZr8ODBFY7/kUcesdq3bx/0uFevXlZWVlbQcQ8++KCVlpZmHTt2LOi8efPmBR03evRoq3///oHH06ZNszp16mT99NNPgbLDhw9b3bp1C3qvmZmZVvv27a2XXnopcNw///lPq3379tbdd98ddI2pU6da7du3tzIyMir8fsWFQZq5xAWpdevWDBs2LPA4MTGRsWPHsnnzZrZu3UpmZibDhg0jLy+PnJwccnJycLlcDB48mB07dnD48OEzvvaSJUt4/fXXg3bWy87Opl69euc1hPhsTNNkxYoV9OjRA13XA7Hm5OQwYsQIPB4Pa9asCTpn9OjRQY87duxIdnY24N9n/ssvv2TAgAG0adMmcEyjRo246qqryh3XmDFjgh6X7rdy9OjRCr0/ceGQZi5xQWrbtm1IWYsWLbAsKzBHYvbs2cyePbvM8w8dOkRKSkqZz9lsNr7//nuWLl3Knj17yMjICHxZN2nSpIregV9ubi4FBQWsWLGCFStWnDHWU52+SZPdbscwDMA/Quv48eOBLWhPVdbmXGdy+jWcTidwcgtbEXkkmYgLks1mCykr/UIt/f/77ruPbt26lXn+2b5YX3jhBV5//XU6depEt27dGDt2LN27d+epp54K+WKvrNJYR44cyfjx48s8plmzZkGPVfXMDQ4+nw+gzG2aHQ5HueM62zVEZJJkIi5IGRkZIWX79u1D0zT69OkDQHR0NH379g06ZsuWLeTl5QV+aZ/uwIEDvP7664wdOzakVnPs2LEqiv6kxMREoqKi8Pl8IbEePHiQ7du3ExUVVe7XS0pKIjo6mr1794Y8t2/fvsqGKyKY/LwQF6StW7eyadOmwONjx46xZMkS+vTpQ1paGsnJycyfP5+ioqLAMYWFhdx///1MmzYNTdOAk7/ArRMbkubl5QGhzWirVq1i7969gV/+VUXXdQYOHMiqVavYuXNn0HPPPfccU6ZMITc3t9yvp6oqQ4YMYfXq1WRmZgbK8/LyWLp0adCxpf8GpmlW4h2ISCE1E3FBstvt3H777dxyyy04nU4WLFiAaZo8/PDD2Gw2HnvsMe6//36uvfZarrvuOhwOBx988AEHDx7k+eefR9f9H43SvoE333yTgQMHMmDAAFJTU3n11Vdxu92kpKSwZcsWPvroIxwOR1Byqirp6emsXbuWiRMnMnHiRFJTU/n666/56quvGDduXGDIcnndd999rFq1inHjxjFp0iTsdjvvvfdeYKZ/6cCChIQEVFVl5cqVpKamMmLEiCp/b+LCIclEXJC6devGmDFjeOWVVygoKKBHjx489NBDdOzYEfD3Qbz11lvMnTuXV155BVVVadeuHXPnzmXw4MGB1xkzZgxffPEFixYtYt26dQwdOpTXX3+d5557jnnz5mFZFs2bN2f69On4fD6eeeYZtm3bRlpaWpW9l+bNm/P+++/z0ksv8f7771NcXEyzZs2YNm1a0ETKirze3//+d2bNmsVrr72Gw+Hg6quvRtM0/vrXvwb6U6KionjggQf461//ytNPP03z5s2r7D2JC49ildbfhbhADBkyhCZNmjB//vxwh1IrZWdnk5iYGDS0GeCpp55i4cKFbN68ucwBDEKcjfSZCBFh7rvvPsaMGRPUF1JSUsJXX31Fx44dJZGI8yLNXEJUM8Mwyr2EfVxc3BlHklWVsWPHMmPGDO644w6GDh2K2+1myZIlHD58mCeffLJary0uXJJMhKhmhw4dCiyaeC4zZ87k2muvrdZ4rr/+ehwOB/PmzeOPf/wjqqqSlpbGO++8Q69evar12uLCJX0mQlQzt9vNhg0bynVs27ZtadiwYTVHJETVk2QihBCi0qQDXgghRKVJMhFCCFFpkkyEEEJUmiQTIYQQlSbJRAghRKX9PxUmUwE6fh9yAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(data=iris_data,\n",
    "                x=\"petal_length\",\n",
    "                y=\"petal_width\",\n",
    "                hue=\"species\")\n",
    "fig = plt.gcf()\n",
    "fig.savefig(\"iris_scatter_plot_with_petal_data.png\",\n",
    "            dpi=300,\n",
    "            bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import tree\n",
    "decision_tree_model = tree.DecisionTreeClassifier()\n",
    "decision_tree_model = decision_tree_model.fit(\n",
    "    iris_data[[\"petal_length\", \"petal_width\"]], iris_data[\"species\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal_length</th>\n",
       "      <th>sepal_width</th>\n",
       "      <th>petal_length</th>\n",
       "      <th>petal_width</th>\n",
       "      <th>species</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>148</th>\n",
       "      <td>6.2</td>\n",
       "      <td>3.4</td>\n",
       "      <td>5.4</td>\n",
       "      <td>2.3</td>\n",
       "      <td>virginica</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64</th>\n",
       "      <td>5.6</td>\n",
       "      <td>2.9</td>\n",
       "      <td>3.6</td>\n",
       "      <td>1.3</td>\n",
       "      <td>versicolor</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137</th>\n",
       "      <td>6.4</td>\n",
       "      <td>3.1</td>\n",
       "      <td>5.5</td>\n",
       "      <td>1.8</td>\n",
       "      <td>virginica</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>5.8</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.2</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     sepal_length  sepal_width  petal_length  petal_width     species\n",
       "148           6.2          3.4           5.4          2.3   virginica\n",
       "64            5.6          2.9           3.6          1.3  versicolor\n",
       "137           6.4          3.1           5.5          1.8   virginica\n",
       "14            5.8          4.0           1.2          0.2      setosa"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "four_random_rows = iris_data.sample(4)\n",
    "four_random_rows"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['virginica', 'versicolor', 'virginica', 'setosa'], dtype=object)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "decision_tree_model.predict(four_random_rows[[\"petal_length\", \"petal_width\"]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 1.],\n",
       "       [0., 1., 0.],\n",
       "       [0., 0., 1.],\n",
       "       [1., 0., 0.]])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "decision_tree_model.predict_proba(\n",
    "    four_random_rows[[\"petal_length\", \"petal_width\"]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(167.4, 199.32, 'X[1] <= 0.8\\ngini = 0.667\\nsamples = 150\\nvalue = [50, 50, 50]'),\n",
       " Text(136.96363636363637, 163.07999999999998, 'gini = 0.0\\nsamples = 50\\nvalue = [50, 0, 0]'),\n",
       " Text(197.83636363636364, 163.07999999999998, 'X[1] <= 1.75\\ngini = 0.5\\nsamples = 100\\nvalue = [0, 50, 50]'),\n",
       " Text(121.74545454545455, 126.83999999999999, 'X[0] <= 4.95\\ngini = 0.168\\nsamples = 54\\nvalue = [0, 49, 5]'),\n",
       " Text(60.872727272727275, 90.6, 'X[1] <= 1.65\\ngini = 0.041\\nsamples = 48\\nvalue = [0, 47, 1]'),\n",
       " Text(30.436363636363637, 54.359999999999985, 'gini = 0.0\\nsamples = 47\\nvalue = [0, 47, 0]'),\n",
       " Text(91.30909090909091, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n",
       " Text(182.61818181818182, 90.6, 'X[1] <= 1.55\\ngini = 0.444\\nsamples = 6\\nvalue = [0, 2, 4]'),\n",
       " Text(152.1818181818182, 54.359999999999985, 'gini = 0.0\\nsamples = 3\\nvalue = [0, 0, 3]'),\n",
       " Text(213.05454545454546, 54.359999999999985, 'X[0] <= 5.45\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 2, 1]'),\n",
       " Text(182.61818181818182, 18.119999999999976, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 2, 0]'),\n",
       " Text(243.4909090909091, 18.119999999999976, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n",
       " Text(273.92727272727274, 126.83999999999999, 'X[0] <= 4.85\\ngini = 0.043\\nsamples = 46\\nvalue = [0, 1, 45]'),\n",
       " Text(243.4909090909091, 90.6, 'gini = 0.444\\nsamples = 3\\nvalue = [0, 1, 2]'),\n",
       " Text(304.3636363636364, 90.6, 'gini = 0.0\\nsamples = 43\\nvalue = [0, 0, 43]')]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    " tree.plot_tree(decision_tree_model) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "import graphviz"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Generated by graphviz version 2.38.0 (20140413.2041)\r\n",
       " -->\r\n",
       "<!-- Title: Tree Pages: 1 -->\r\n",
       "<svg width=\"702pt\" height=\"671pt\"\r\n",
       " viewBox=\"0.00 0.00 702.00 671.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 667)\">\r\n",
       "<title>Tree</title>\r\n",
       "<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-667 698,-667 698,4 -4,4\"/>\r\n",
       "<!-- 0 -->\r\n",
       "<g id=\"node1\" class=\"node\"><title>0</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M406,-663C406,-663 293,-663 293,-663 287,-663 281,-657 281,-651 281,-651 281,-592 281,-592 281,-586 287,-580 293,-580 293,-580 406,-580 406,-580 412,-580 418,-586 418,-592 418,-592 418,-651 418,-651 418,-657 412,-663 406,-663\"/>\r\n",
       "<text text-anchor=\"start\" x=\"296\" y=\"-647.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">petal_width ≤ 0.8</text>\r\n",
       "<text text-anchor=\"start\" x=\"312\" y=\"-632.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.667</text>\r\n",
       "<text text-anchor=\"start\" x=\"302\" y=\"-617.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 150</text>\r\n",
       "<text text-anchor=\"start\" x=\"289\" y=\"-602.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [50, 50, 50]</text>\r\n",
       "<text text-anchor=\"start\" x=\"303.5\" y=\"-587.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 1 -->\r\n",
       "<g id=\"node2\" class=\"node\"><title>1</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M326,-536.5C326,-536.5 229,-536.5 229,-536.5 223,-536.5 217,-530.5 217,-524.5 217,-524.5 217,-480.5 217,-480.5 217,-474.5 223,-468.5 229,-468.5 229,-468.5 326,-468.5 326,-468.5 332,-468.5 338,-474.5 338,-480.5 338,-480.5 338,-524.5 338,-524.5 338,-530.5 332,-536.5 326,-536.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"248.5\" y=\"-521.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"234\" y=\"-506.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 50</text>\r\n",
       "<text text-anchor=\"start\" x=\"225\" y=\"-491.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [50, 0, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"231.5\" y=\"-476.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;1 -->\r\n",
       "<g id=\"edge1\" class=\"edge\"><title>0&#45;&gt;1</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M324.52,-579.907C317.662,-568.763 310.213,-556.658 303.309,-545.439\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"306.132,-543.349 297.91,-536.667 300.171,-547.018 306.132,-543.349\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"292.12\" y=\"-557.287\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">True</text>\r\n",
       "</g>\r\n",
       "<!-- 2 -->\r\n",
       "<g id=\"node3\" class=\"node\"><title>2</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M475,-544C475,-544 368,-544 368,-544 362,-544 356,-538 356,-532 356,-532 356,-473 356,-473 356,-467 362,-461 368,-461 368,-461 475,-461 475,-461 481,-461 487,-467 487,-473 487,-473 487,-532 487,-532 487,-538 481,-544 475,-544\"/>\r\n",
       "<text text-anchor=\"start\" x=\"364\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">petal_width ≤ 1.75</text>\r\n",
       "<text text-anchor=\"start\" x=\"392.5\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"374\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 100</text>\r\n",
       "<text text-anchor=\"start\" x=\"365\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 50, 50]</text>\r\n",
       "<text text-anchor=\"start\" x=\"366\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;2 -->\r\n",
       "<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;2</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M374.48,-579.907C379.897,-571.105 385.683,-561.703 391.277,-552.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"394.304,-554.372 396.564,-544.021 388.342,-550.703 394.304,-554.372\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"402.355\" y=\"-564.641\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">False</text>\r\n",
       "</g>\r\n",
       "<!-- 3 -->\r\n",
       "<g id=\"node4\" class=\"node\"><title>3</title>\r\n",
       "<path fill=\"#4de88e\" stroke=\"black\" d=\"M401,-425C401,-425 288,-425 288,-425 282,-425 276,-419 276,-413 276,-413 276,-354 276,-354 276,-348 282,-342 288,-342 288,-342 401,-342 401,-342 407,-342 413,-348 413,-354 413,-354 413,-413 413,-413 413,-419 407,-425 401,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"284\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">petal_length ≤ 4.95</text>\r\n",
       "<text text-anchor=\"start\" x=\"307\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.168</text>\r\n",
       "<text text-anchor=\"start\" x=\"301\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 54</text>\r\n",
       "<text text-anchor=\"start\" x=\"292\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 49, 5]</text>\r\n",
       "<text text-anchor=\"start\" x=\"289\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 2&#45;&gt;3 -->\r\n",
       "<g id=\"edge3\" class=\"edge\"><title>2&#45;&gt;3</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M394.785,-460.907C388.992,-452.105 382.805,-442.703 376.822,-433.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"379.589,-431.45 371.168,-425.021 373.741,-435.298 379.589,-431.45\"/>\r\n",
       "</g>\r\n",
       "<!-- 12 -->\r\n",
       "<g id=\"node13\" class=\"node\"><title>12</title>\r\n",
       "<path fill=\"#843de6\" stroke=\"black\" d=\"M556,-425C556,-425 443,-425 443,-425 437,-425 431,-419 431,-413 431,-413 431,-354 431,-354 431,-348 437,-342 443,-342 443,-342 556,-342 556,-342 562,-342 568,-348 568,-354 568,-354 568,-413 568,-413 568,-419 562,-425 556,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"439\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">petal_length ≤ 4.85</text>\r\n",
       "<text text-anchor=\"start\" x=\"462\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.043</text>\r\n",
       "<text text-anchor=\"start\" x=\"456\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 46</text>\r\n",
       "<text text-anchor=\"start\" x=\"447\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 45]</text>\r\n",
       "<text text-anchor=\"start\" x=\"449.5\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 2&#45;&gt;12 -->\r\n",
       "<g id=\"edge12\" class=\"edge\"><title>2&#45;&gt;12</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M448.562,-460.907C454.43,-452.105 460.698,-442.703 466.759,-433.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"469.851,-435.283 472.486,-425.021 464.027,-431.4 469.851,-435.283\"/>\r\n",
       "</g>\r\n",
       "<!-- 4 -->\r\n",
       "<g id=\"node5\" class=\"node\"><title>4</title>\r\n",
       "<path fill=\"#3de684\" stroke=\"black\" d=\"M253,-306C253,-306 146,-306 146,-306 140,-306 134,-300 134,-294 134,-294 134,-235 134,-235 134,-229 140,-223 146,-223 146,-223 253,-223 253,-223 259,-223 265,-229 265,-235 265,-235 265,-294 265,-294 265,-300 259,-306 253,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"142\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">petal_width ≤ 1.65</text>\r\n",
       "<text text-anchor=\"start\" x=\"162\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.041</text>\r\n",
       "<text text-anchor=\"start\" x=\"156\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 48</text>\r\n",
       "<text text-anchor=\"start\" x=\"147\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 47, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"144\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 3&#45;&gt;4 -->\r\n",
       "<g id=\"edge4\" class=\"edge\"><title>3&#45;&gt;4</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M294.193,-341.907C282.384,-332.379 269.705,-322.148 257.586,-312.37\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"259.698,-309.577 249.718,-306.021 255.303,-315.024 259.698,-309.577\"/>\r\n",
       "</g>\r\n",
       "<!-- 7 -->\r\n",
       "<g id=\"node8\" class=\"node\"><title>7</title>\r\n",
       "<path fill=\"#c09cf2\" stroke=\"black\" d=\"M402,-306C402,-306 295,-306 295,-306 289,-306 283,-300 283,-294 283,-294 283,-235 283,-235 283,-229 289,-223 295,-223 295,-223 402,-223 402,-223 408,-223 414,-229 414,-235 414,-235 414,-294 414,-294 414,-300 408,-306 402,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"291\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">petal_width ≤ 1.55</text>\r\n",
       "<text text-anchor=\"start\" x=\"311\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"309\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 6</text>\r\n",
       "<text text-anchor=\"start\" x=\"300\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 4]</text>\r\n",
       "<text text-anchor=\"start\" x=\"298.5\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 3&#45;&gt;7 -->\r\n",
       "<g id=\"edge7\" class=\"edge\"><title>3&#45;&gt;7</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M345.888,-341.907C346.173,-333.558 346.477,-324.671 346.773,-316.02\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"350.271,-316.135 347.115,-306.021 343.275,-315.895 350.271,-316.135\"/>\r\n",
       "</g>\r\n",
       "<!-- 5 -->\r\n",
       "<g id=\"node6\" class=\"node\"><title>5</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M115,-179.5C115,-179.5 12,-179.5 12,-179.5 6,-179.5 -7.10543e-015,-173.5 -7.10543e-015,-167.5 -7.10543e-015,-167.5 -7.10543e-015,-123.5 -7.10543e-015,-123.5 -7.10543e-015,-117.5 6,-111.5 12,-111.5 12,-111.5 115,-111.5 115,-111.5 121,-111.5 127,-117.5 127,-123.5 127,-123.5 127,-167.5 127,-167.5 127,-173.5 121,-179.5 115,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"34.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"20\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 47</text>\r\n",
       "<text text-anchor=\"start\" x=\"11\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 47, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"8\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 4&#45;&gt;5 -->\r\n",
       "<g id=\"edge5\" class=\"edge\"><title>4&#45;&gt;5</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M152.315,-222.907C138.591,-211.101 123.615,-198.217 109.937,-186.45\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"111.916,-183.535 102.053,-179.667 107.351,-188.842 111.916,-183.535\"/>\r\n",
       "</g>\r\n",
       "<!-- 6 -->\r\n",
       "<g id=\"node7\" class=\"node\"><title>6</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M249.5,-179.5C249.5,-179.5 157.5,-179.5 157.5,-179.5 151.5,-179.5 145.5,-173.5 145.5,-167.5 145.5,-167.5 145.5,-123.5 145.5,-123.5 145.5,-117.5 151.5,-111.5 157.5,-111.5 157.5,-111.5 249.5,-111.5 249.5,-111.5 255.5,-111.5 261.5,-117.5 261.5,-123.5 261.5,-123.5 261.5,-167.5 261.5,-167.5 261.5,-173.5 255.5,-179.5 249.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"174.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"164\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"155\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"153.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 4&#45;&gt;6 -->\r\n",
       "<g id=\"edge6\" class=\"edge\"><title>4&#45;&gt;6</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M200.888,-222.907C201.254,-212.204 201.65,-200.615 202.02,-189.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"205.522,-189.781 202.366,-179.667 198.526,-189.541 205.522,-189.781\"/>\r\n",
       "</g>\r\n",
       "<!-- 8 -->\r\n",
       "<g id=\"node9\" class=\"node\"><title>8</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M387.5,-179.5C387.5,-179.5 295.5,-179.5 295.5,-179.5 289.5,-179.5 283.5,-173.5 283.5,-167.5 283.5,-167.5 283.5,-123.5 283.5,-123.5 283.5,-117.5 289.5,-111.5 295.5,-111.5 295.5,-111.5 387.5,-111.5 387.5,-111.5 393.5,-111.5 399.5,-117.5 399.5,-123.5 399.5,-123.5 399.5,-167.5 399.5,-167.5 399.5,-173.5 393.5,-179.5 387.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"312.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"302\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"293\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 3]</text>\r\n",
       "<text text-anchor=\"start\" x=\"291.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 7&#45;&gt;8 -->\r\n",
       "<g id=\"edge8\" class=\"edge\"><title>7&#45;&gt;8</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M346.071,-222.907C345.431,-212.204 344.738,-200.615 344.089,-189.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"347.575,-189.44 343.484,-179.667 340.588,-189.858 347.575,-189.44\"/>\r\n",
       "</g>\r\n",
       "<!-- 9 -->\r\n",
       "<g id=\"node10\" class=\"node\"><title>9</title>\r\n",
       "<path fill=\"#9cf2c0\" stroke=\"black\" d=\"M543,-187C543,-187 430,-187 430,-187 424,-187 418,-181 418,-175 418,-175 418,-116 418,-116 418,-110 424,-104 430,-104 430,-104 543,-104 543,-104 549,-104 555,-110 555,-116 555,-116 555,-175 555,-175 555,-181 549,-187 543,-187\"/>\r\n",
       "<text text-anchor=\"start\" x=\"426\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">petal_length ≤ 5.45</text>\r\n",
       "<text text-anchor=\"start\" x=\"449\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"447\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"438\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"431\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 7&#45;&gt;9 -->\r\n",
       "<g id=\"edge9\" class=\"edge\"><title>7&#45;&gt;9</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M396.378,-222.907C407.511,-213.469 419.454,-203.343 430.888,-193.649\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"433.342,-196.157 438.706,-187.021 428.815,-190.818 433.342,-196.157\"/>\r\n",
       "</g>\r\n",
       "<!-- 10 -->\r\n",
       "<g id=\"node11\" class=\"node\"><title>10</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M468,-68C468,-68 365,-68 365,-68 359,-68 353,-62 353,-56 353,-56 353,-12 353,-12 353,-6 359,-0 365,-0 365,-0 468,-0 468,-0 474,-0 480,-6 480,-12 480,-12 480,-56 480,-56 480,-62 474,-68 468,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"387.5\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"377\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"368\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"361\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 9&#45;&gt;10 -->\r\n",
       "<g id=\"edge10\" class=\"edge\"><title>9&#45;&gt;10</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M460.435,-103.726C454.837,-94.9703 448.913,-85.7032 443.289,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"446.123,-74.8399 437.787,-68.2996 440.225,-78.6103 446.123,-74.8399\"/>\r\n",
       "</g>\r\n",
       "<!-- 11 -->\r\n",
       "<g id=\"node12\" class=\"node\"><title>11</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M602.5,-68C602.5,-68 510.5,-68 510.5,-68 504.5,-68 498.5,-62 498.5,-56 498.5,-56 498.5,-12 498.5,-12 498.5,-6 504.5,-0 510.5,-0 510.5,-0 602.5,-0 602.5,-0 608.5,-0 614.5,-6 614.5,-12 614.5,-12 614.5,-56 614.5,-56 614.5,-62 608.5,-68 602.5,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"527.5\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"517\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"508\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"506.5\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 9&#45;&gt;11 -->\r\n",
       "<g id=\"edge11\" class=\"edge\"><title>9&#45;&gt;11</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M512.565,-103.726C518.163,-94.9703 524.087,-85.7032 529.711,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"532.775,-78.6103 535.213,-68.2996 526.877,-74.8399 532.775,-78.6103\"/>\r\n",
       "</g>\r\n",
       "<!-- 13 -->\r\n",
       "<g id=\"node14\" class=\"node\"><title>13</title>\r\n",
       "<path fill=\"#c09cf2\" stroke=\"black\" d=\"M542.5,-298.5C542.5,-298.5 450.5,-298.5 450.5,-298.5 444.5,-298.5 438.5,-292.5 438.5,-286.5 438.5,-286.5 438.5,-242.5 438.5,-242.5 438.5,-236.5 444.5,-230.5 450.5,-230.5 450.5,-230.5 542.5,-230.5 542.5,-230.5 548.5,-230.5 554.5,-236.5 554.5,-242.5 554.5,-242.5 554.5,-286.5 554.5,-286.5 554.5,-292.5 548.5,-298.5 542.5,-298.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"459\" y=\"-283.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"457\" y=\"-268.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"448\" y=\"-253.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"446.5\" y=\"-238.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 12&#45;&gt;13 -->\r\n",
       "<g id=\"edge13\" class=\"edge\"><title>12&#45;&gt;13</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M498.459,-341.907C498.185,-331.204 497.888,-319.615 497.61,-308.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"501.106,-308.574 497.35,-298.667 494.108,-308.753 501.106,-308.574\"/>\r\n",
       "</g>\r\n",
       "<!-- 14 -->\r\n",
       "<g id=\"node15\" class=\"node\"><title>14</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M682,-298.5C682,-298.5 585,-298.5 585,-298.5 579,-298.5 573,-292.5 573,-286.5 573,-286.5 573,-242.5 573,-242.5 573,-236.5 579,-230.5 585,-230.5 585,-230.5 682,-230.5 682,-230.5 688,-230.5 694,-236.5 694,-242.5 694,-242.5 694,-286.5 694,-286.5 694,-292.5 688,-298.5 682,-298.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"604.5\" y=\"-283.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"590\" y=\"-268.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 43</text>\r\n",
       "<text text-anchor=\"start\" x=\"581\" y=\"-253.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 43]</text>\r\n",
       "<text text-anchor=\"start\" x=\"583.5\" y=\"-238.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 12&#45;&gt;14 -->\r\n",
       "<g id=\"edge14\" class=\"edge\"><title>12&#45;&gt;14</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M545.991,-341.907C559.513,-330.101 574.269,-317.217 587.746,-305.45\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"590.283,-307.881 595.514,-298.667 585.679,-302.608 590.283,-307.881\"/>\r\n",
       "</g>\r\n",
       "</g>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<graphviz.files.Source at 0x17e23d09308>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import graphviz\n",
    "dot_data = tree.export_graphviz(\n",
    "    decision_tree_model,\n",
    "    out_file=None,\n",
    "    feature_names=[\"petal_length\", \"petal_width\"],\n",
    "    class_names=[\"setosa\", \"versicolor\", \"virginica\"],\n",
    "    filled=True,\n",
    "    rounded=True,\n",
    "    special_characters=True)\n",
    "graph = graphviz.Source(dot_data)\n",
    "graph.render(format=\"png\", filename=\"iris_tree\")\n",
    "graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['setosa' 'versicolor' 'virginica']\n",
      "[0 0 0 ... 2 2 2]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(0, 7, 0.02), np.arange(0, 2.8, 0.02))\n",
    "\n",
    "Z_string = decision_tree_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "print(categories)\n",
    "print(Z_int)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "sns.scatterplot(data=iris_data,\n",
    "                x=\"petal_length\",\n",
    "                y=\"petal_width\",\n",
    "                hue=\"species\")\n",
    "fig = plt.gcf()\n",
    "fig.savefig(\"iris_decision_boundaries.png\", dpi=300, bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "                   intercept_scaling=1, l1_ratio=None, max_iter=100,\n",
       "                   multi_class='auto', n_jobs=None, penalty='none',\n",
       "                   random_state=None, solver='lbfgs', tol=0.0001, verbose=0,\n",
       "                   warm_start=False)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "logistic_model = LogisticRegression(penalty='none')\n",
    "logistic_model.fit(iris_data[[\"petal_length\", \"petal_width\"]],\n",
    "                   iris_data[\"species\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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CELNEclEEARBqDKRTARBEIQqE8lEEARBqDKRTARBEIQqE8lEEARBqDKRTAThEdLT08nLy6vwfePHj6d3794Vvm/mzJkWJX+syWQykZiYaH69YcMGmjZtyuHDh60YlVAbiWQiCOXYt28fAwYMMJcQtyc6nY4RI0awceNGa4ci1AEimQhCOU6fPk12dra1w7CKzMxMzpw5Y+0whDpCJBNBEAShykQyEWxO7969eeedd1i/fj0xMTG0bduWUaNGcejQIYvrTpw4wcSJE2nXrh3t2rXjxRdf5PTp0+b3Z86cyWeffQZATEwM48ePN7/3008/MW7cODp06EBERAS9e/dm4cKFpUqMV5fbt2/z9ttv07lzZ1q1asWzzz7L5s2bLa6ZOXMmAwYM4PTp04wbN442bdrQtWtX3n///VJHw8bFxTF58mQiIyPp1KkT77//PuvWraNp06YkJiZy+PBhYmJiAPjss8/M7fekp6czffp0IiMjad++PVOmTCEpKalGvrtQN9hVoUfBfhw8eJDNmzczfvx4fH19Wbt2LS+//DJfffUVHTt25MCBA0yaNIlmzZoxdepU9Ho9GzZsYOzYsaxYsYLIyEhGjhyJTqdj165dzJo1iyZNmgDFpfTnzJlD7969mT59OkVFRezatYvly5fj5OTEa6+9Vq3fJSUlheHDhyNJEuPHj8fd3Z3du3fz1ltvcefOHV5++WXztVqtlpdeeomBAwcyZMgQ9u/fz+rVq1GpVLz99tsAJCUlmcugv/jiiyiVStasWcOWLVvM/YSFhTFr1izmz59P37596du3r0Vl29mzZxMZGcn06dO5evUq33zzDYmJifzwww/V+t2FOkQSBBvTq1cvKTw8XNq1a5e5LT09XYqMjJRGjBghGY1GKSYmRho1apRkMBjM1+Tm5kp9+/aVhg4dam779NNPpfDwcCkhIcHcNmDAAGnkyJGSyWQytxUVFUk9evSQnn76aXPbuHHjpF69elU4/hkzZkjh4eEWrzt27CilpKRYXPfmm29KERERUlpamsV9q1atsrhu4MCBUnR0tPn1rFmzpBYtWkhXr141t92+fVtq27atxXdNSEiQwsPDpU8//dR83ffffy+Fh4dLkydPtviMmTNnSuHh4VJ8fHyFv69gG8RjLsEmNWrUiD59+phfe3l5MXToUE6dOsWZM2dISEigT58+ZGVlodVq0Wq1FBQU0KtXLy5cuMDt27cf2vfmzZtZtmyZxel46enpuLm5VWoJcXlMJhOxsbFERkaiVCrNsWq1Wvr164der+fAgQMW9wwcONDidbNmzUhPTweKz4PfvXs33bt3JywszHyNn58fQ4YMeey4Bg8ebPH63rkoqampFfp+gu0Qj7kEm9S4ceNSbSEhIUiSZN4jsXDhQhYuXFjm/cnJyfj7+5f5noODA0ePHmXr1q3ExcURHx9v/mUdFBRUTd+gWEZGBjk5OcTGxhIbG/vQWO/34EFLKpUKo9EIFK/QyszMNB8je7+yDtF6mAc/Q6PRACXH0Ar2RyQTwSY5ODiUarv3C/Xe/06dOpW2bduWeX95v1g//vhjli1bRosWLWjbti1Dhw6lXbt2zJs3r9Qv9qq6F2v//v0ZNWpUmdc0aNDA4rVc/vAHDgaDAaDMI5PVavVjx1XeZwj2SSQTwSbFx8eXart58yYKhYLOnTsD4OTkRNeuXS2uOX36NFlZWea/tB9069Ytli1bxtChQ0uNatLS0qop+hJeXl44OjpiMBhKxZqUlMT58+dxdHR87P68vb1xcnLixo0bpd67efNmVcMV7Jj480KwSWfOnOHkyZPm12lpaWzevJnOnTsTERGBr68vq1evJjc313yNTqdj2rRpzJo1C4VCAZT8BS7dPZA0KysLKP0Ybd++fdy4ccP8l391USqV9OjRg3379nHx4kWL9xYsWMCUKVPIyMh47P7kcjm9e/dm//79JCQkmNuzsrLYunWrxbX3fgYmk6kK30CwF2JkItgklUrFK6+8wgsvvIBGo+Gbb77BZDLx9ttv4+DgwLvvvsu0adMYNmwYzz//PGq1mvXr15OUlMSiRYtQKov/1bg3N/Cf//yHHj160L17dwIDA1m6dCmFhYX4+/tz+vRpNm7ciFqttkhO1WX69OkcPnyYsWPHMnbsWAIDA/n555/Zu3cvI0eONC9ZflxTp05l3759jBw5kvHjx6NSqfj222/NO/3vLSzw8PBALpezZ88eAgMD6devX7V/N8F2iGQi2KS2bdsyePBgPv/8c3JycoiMjOQvf/kLzZo1A4rnIL766iuWLFnC559/jlwup0mTJixZsoRevXqZ+xk8eDA7d+5kw4YNHDlyhJiYGJYtW8aCBQtYtWoVkiQRHBzM7NmzMRgMfPDBB5w9e5aIiIhq+y7BwcGsW7eOTz/9lHXr1pGXl0eDBg2YNWuWxUbKivT33//+lw8//JAvvvgCtVrNs88+i0KhYPny5eb5FEdHR9544w2WL1/O+++/T3BwcLV9J8H2yKR743dBsBG9e/cmKCiI1atXWzuUWik9PR0vLy+Lpc0A8+bNY+3atZw6darMBQyCUB4xZyIIdmbq1KkMHjzYYi4kPz+fvXv30qxZM5FIhEoRj7kEoYYZjcbHLmHv6ur60JVk1WXo0KHMmTOHV199lZiYGAoLC9m8eTO3b9/mr3/9a41+tmC7RDIRhBqWnJxsLpr4KPPnz2fYsGE1Gs/w4cNRq9WsWrWKjz76CLlcTkREBCtXrqRjx441+tmC7RJzJoJQwwoLCzl+/PhjXdu4cWPq1atXwxEJQvUTyUQQBEGoMjEBLwiCIFSZSCaCIAhClYlkIgiCIFSZSCaCIAhClYlkIgiCIFTZ/weI2y2tFaTfWQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(0, 7, 0.02), np.arange(0, 2.8, 0.02))\n",
    "\n",
    "Z_string = logistic_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "sns.scatterplot(data=iris_data,\n",
    "                x=\"petal_length\",\n",
    "                y=\"petal_width\",\n",
    "                hue=\"species\")\n",
    "plt.savefig(\"iris_decision_boundaries_logistic.png\",\n",
    "            dpi=300,\n",
    "            bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9933333333333333"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "predictions = decision_tree_model.predict(\n",
    "    iris_data[[\"petal_length\", \"petal_width\"]])\n",
    "accuracy_score(predictions, iris_data[\"species\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal_length</th>\n",
       "      <th>sepal_width</th>\n",
       "      <th>petal_length</th>\n",
       "      <th>petal_width</th>\n",
       "      <th>species</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>70</th>\n",
       "      <td>5.9</td>\n",
       "      <td>3.2</td>\n",
       "      <td>4.8</td>\n",
       "      <td>1.8</td>\n",
       "      <td>versicolor</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>126</th>\n",
       "      <td>6.2</td>\n",
       "      <td>2.8</td>\n",
       "      <td>4.8</td>\n",
       "      <td>1.8</td>\n",
       "      <td>virginica</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>138</th>\n",
       "      <td>6.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.8</td>\n",
       "      <td>1.8</td>\n",
       "      <td>virginica</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     sepal_length  sepal_width  petal_length  petal_width     species\n",
       "70            5.9          3.2           4.8          1.8  versicolor\n",
       "126           6.2          2.8           4.8          1.8   virginica\n",
       "138           6.0          3.0           4.8          1.8   virginica"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris_data.query(\n",
    "    \"petal_length > 2.45 and petal_width > 1.75 and petal_length <= 4.85\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Controlling Complexity"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`sklearn` provides many different parameters that allow you to control the complexity of a Decision Tree."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(23)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "decision_tree_min_dwg = tree.DecisionTreeClassifier(min_impurity_decrease=0.1)\n",
    "decision_tree_min_dwg = decision_tree_min_dwg.fit(\n",
    "    iris_data[[\"petal_length\", \"petal_width\"]], iris_data[\"species\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Generated by graphviz version 2.38.0 (20140413.2041)\r\n",
       " -->\r\n",
       "<!-- Title: Tree Pages: 1 -->\r\n",
       "<svg width=\"344pt\" height=\"314pt\"\r\n",
       " viewBox=\"0.00 0.00 344.00 314.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 310)\">\r\n",
       "<title>Tree</title>\r\n",
       "<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-310 340,-310 340,4 -4,4\"/>\r\n",
       "<!-- 0 -->\r\n",
       "<g id=\"node1\" class=\"node\"><title>0</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M189,-306C189,-306 76,-306 76,-306 70,-306 64,-300 64,-294 64,-294 64,-235 64,-235 64,-229 70,-223 76,-223 76,-223 189,-223 189,-223 195,-223 201,-229 201,-235 201,-235 201,-294 201,-294 201,-300 195,-306 189,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"72\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">petal_length ≤ 2.45</text>\r\n",
       "<text text-anchor=\"start\" x=\"95\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.667</text>\r\n",
       "<text text-anchor=\"start\" x=\"85\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 150</text>\r\n",
       "<text text-anchor=\"start\" x=\"72\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [50, 50, 50]</text>\r\n",
       "<text text-anchor=\"start\" x=\"86.5\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 1 -->\r\n",
       "<g id=\"node2\" class=\"node\"><title>1</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M109,-179.5C109,-179.5 12,-179.5 12,-179.5 6,-179.5 0,-173.5 0,-167.5 0,-167.5 0,-123.5 0,-123.5 0,-117.5 6,-111.5 12,-111.5 12,-111.5 109,-111.5 109,-111.5 115,-111.5 121,-117.5 121,-123.5 121,-123.5 121,-167.5 121,-167.5 121,-173.5 115,-179.5 109,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"31.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"17\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 50</text>\r\n",
       "<text text-anchor=\"start\" x=\"8\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [50, 0, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"14.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;1 -->\r\n",
       "<g id=\"edge1\" class=\"edge\"><title>0&#45;&gt;1</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M107.52,-222.907C100.662,-211.763 93.2127,-199.658 86.3087,-188.439\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"89.1323,-186.349 80.9104,-179.667 83.1706,-190.018 89.1323,-186.349\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"75.1199\" y=\"-200.287\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">True</text>\r\n",
       "</g>\r\n",
       "<!-- 2 -->\r\n",
       "<g id=\"node3\" class=\"node\"><title>2</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M258,-187C258,-187 151,-187 151,-187 145,-187 139,-181 139,-175 139,-175 139,-116 139,-116 139,-110 145,-104 151,-104 151,-104 258,-104 258,-104 264,-104 270,-110 270,-116 270,-116 270,-175 270,-175 270,-181 264,-187 258,-187\"/>\r\n",
       "<text text-anchor=\"start\" x=\"147\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">petal_width ≤ 1.75</text>\r\n",
       "<text text-anchor=\"start\" x=\"175.5\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"157\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 100</text>\r\n",
       "<text text-anchor=\"start\" x=\"148\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 50, 50]</text>\r\n",
       "<text text-anchor=\"start\" x=\"149\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;2 -->\r\n",
       "<g id=\"edge2\" class=\"edge\"><title>0&#45;&gt;2</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M157.48,-222.907C162.897,-214.105 168.683,-204.703 174.277,-195.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"177.304,-197.372 179.564,-187.021 171.342,-193.703 177.304,-197.372\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"185.355\" y=\"-207.641\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">False</text>\r\n",
       "</g>\r\n",
       "<!-- 3 -->\r\n",
       "<g id=\"node4\" class=\"node\"><title>3</title>\r\n",
       "<path fill=\"#4de88e\" stroke=\"black\" d=\"M185,-68C185,-68 82,-68 82,-68 76,-68 70,-62 70,-56 70,-56 70,-12 70,-12 70,-6 76,-0 82,-0 82,-0 185,-0 185,-0 191,-0 197,-6 197,-12 197,-12 197,-56 197,-56 197,-62 191,-68 185,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"96\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.168</text>\r\n",
       "<text text-anchor=\"start\" x=\"90\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 54</text>\r\n",
       "<text text-anchor=\"start\" x=\"81\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 49, 5]</text>\r\n",
       "<text text-anchor=\"start\" x=\"78\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 2&#45;&gt;3 -->\r\n",
       "<g id=\"edge3\" class=\"edge\"><title>2&#45;&gt;3</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M178.062,-103.726C172.385,-94.9703 166.376,-85.7032 160.671,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"163.469,-74.786 155.092,-68.2996 157.595,-78.5943 163.469,-74.786\"/>\r\n",
       "</g>\r\n",
       "<!-- 4 -->\r\n",
       "<g id=\"node5\" class=\"node\"><title>4</title>\r\n",
       "<path fill=\"#843de6\" stroke=\"black\" d=\"M324,-68C324,-68 227,-68 227,-68 221,-68 215,-62 215,-56 215,-56 215,-12 215,-12 215,-6 221,-0 227,-0 227,-0 324,-0 324,-0 330,-0 336,-6 336,-12 336,-12 336,-56 336,-56 336,-62 330,-68 324,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"238\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.043</text>\r\n",
       "<text text-anchor=\"start\" x=\"232\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 46</text>\r\n",
       "<text text-anchor=\"start\" x=\"223\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 45]</text>\r\n",
       "<text text-anchor=\"start\" x=\"225.5\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 2&#45;&gt;4 -->\r\n",
       "<g id=\"edge4\" class=\"edge\"><title>2&#45;&gt;4</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M230.938,-103.726C236.615,-94.9703 242.624,-85.7032 248.329,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"251.405,-78.5943 253.908,-68.2996 245.531,-74.786 251.405,-78.5943\"/>\r\n",
       "</g>\r\n",
       "</g>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<graphviz.files.Source at 0x17e23ecb748>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dot_data = tree.export_graphviz(\n",
    "    decision_tree_min_dwg,\n",
    "    out_file=None,\n",
    "    feature_names=[\"petal_length\", \"petal_width\"],\n",
    "    class_names=[\"setosa\", \"versicolor\", \"virginica\"],\n",
    "    filled=True,\n",
    "    rounded=True,\n",
    "    special_characters=True)\n",
    "graph = graphviz.Source(dot_data)\n",
    "graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(0, 7, 0.02), np.arange(0, 2.8, 0.02))\n",
    "\n",
    "Z_string = decision_tree_min_dwg.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "sns.scatterplot(data=iris_data,\n",
    "                x=\"petal_length\",\n",
    "                y=\"petal_width\",\n",
    "                hue=\"species\")\n",
    "plt.savefig(\"decision_tree_min_dwg.png\", dpi=300, bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Using Complexity Controls to Avoid Overfitting"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's see an example where overfitting occurs. We'll start by splitting out data into a training and test set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(23)\n",
    "train_iris_data, test_iris_data = np.split(iris_data.sample(frac=1), [110])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(data=train_iris_data,\n",
    "                x=\"sepal_length\",\n",
    "                y=\"sepal_width\",\n",
    "                hue=\"species\",\n",
    "                legend=False)\n",
    "plt.savefig(\"sepal_data_no_model.png\", dpi=300, bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "#sort so that the color labels match what we had in the earlier part of lecture\n",
    "train_iris_data = train_iris_data.sort_values(by=\"species\")\n",
    "test_iris_data = test_iris_data.sort_values(by=\"species\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's now fit a decision tree with no complexity controls."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DecisionTreeClassifier(ccp_alpha=0.0, class_weight=None, criterion='gini',\n",
       "                       max_depth=None, max_features=None, max_leaf_nodes=None,\n",
       "                       min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "                       min_samples_leaf=1, min_samples_split=2,\n",
       "                       min_weight_fraction_leaf=0.0, presort='deprecated',\n",
       "                       random_state=None, splitter='best')"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn import tree\n",
    "sepal_tree_no_controls = tree.DecisionTreeClassifier()\n",
    "sepal_tree_no_controls.fit(train_iris_data[[\"sepal_length\", \"sepal_width\"]],\n",
    "                           train_iris_data[\"species\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(4, 8, 0.02), np.arange(1.9, 4.5, 0.02))\n",
    "\n",
    "Z_string = sepal_tree_no_controls.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "sns.scatterplot(data=train_iris_data,\n",
    "                x=\"sepal_length\",\n",
    "                y=\"sepal_width\",\n",
    "                hue=\"species\",\n",
    "                legend=False)\n",
    "plt.savefig(\"iris_decision_boundaries_sepal_data_no_controls.png\",\n",
    "            dpi=300,\n",
    "            bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9454545454545454"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(\n",
    "    train_iris_data[\"species\"],\n",
    "    sepal_tree_no_controls.predict(\n",
    "        train_iris_data[[\"sepal_length\", \"sepal_width\"]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(4, 8, 0.02), np.arange(1.9, 4.5, 0.02))\n",
    "\n",
    "Z_string = sepal_tree_no_controls.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "sns.scatterplot(data=test_iris_data,\n",
    "                x=\"sepal_length\",\n",
    "                y=\"sepal_width\",\n",
    "                hue=\"species\",\n",
    "                legend=False)\n",
    "plt.savefig(\"iris_test_decision_boundaries_sepal_data_no_controls.png\",\n",
    "            dpi=300,\n",
    "            bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.65"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(\n",
    "    test_iris_data[\"species\"],\n",
    "    sepal_tree_no_controls.predict(\n",
    "        test_iris_data[[\"sepal_length\", \"sepal_width\"]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Generated by graphviz version 2.38.0 (20140413.2041)\r\n",
       " -->\r\n",
       "<!-- Title: Tree Pages: 1 -->\r\n",
       "<svg width=\"2461pt\" height=\"1266pt\"\r\n",
       " viewBox=\"0.00 0.00 2460.50 1266.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 1262)\">\r\n",
       "<title>Tree</title>\r\n",
       "<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-1262 2456.5,-1262 2456.5,4 -4,4\"/>\r\n",
       "<!-- 0 -->\r\n",
       "<g id=\"node1\" class=\"node\"><title>0</title>\r\n",
       "<path fill=\"#faf7fe\" stroke=\"black\" d=\"M732,-1258C732,-1258 615,-1258 615,-1258 609,-1258 603,-1252 603,-1246 603,-1246 603,-1187 603,-1187 603,-1181 609,-1175 615,-1175 615,-1175 732,-1175 732,-1175 738,-1175 744,-1181 744,-1187 744,-1187 744,-1246 744,-1246 744,-1252 738,-1258 732,-1258\"/>\r\n",
       "<text text-anchor=\"start\" x=\"611\" y=\"-1242.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.45</text>\r\n",
       "<text text-anchor=\"start\" x=\"636\" y=\"-1227.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.665</text>\r\n",
       "<text text-anchor=\"start\" x=\"626\" y=\"-1212.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 110</text>\r\n",
       "<text text-anchor=\"start\" x=\"613\" y=\"-1197.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [33, 37, 40]</text>\r\n",
       "<text text-anchor=\"start\" x=\"623.5\" y=\"-1182.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 1 -->\r\n",
       "<g id=\"node2\" class=\"node\"><title>1</title>\r\n",
       "<path fill=\"#e99559\" stroke=\"black\" d=\"M574,-1139C574,-1139 471,-1139 471,-1139 465,-1139 459,-1133 459,-1127 459,-1127 459,-1068 459,-1068 459,-1062 465,-1056 471,-1056 471,-1056 574,-1056 574,-1056 580,-1056 586,-1062 586,-1068 586,-1068 586,-1127 586,-1127 586,-1133 580,-1139 574,-1139\"/>\r\n",
       "<text text-anchor=\"start\" x=\"467\" y=\"-1123.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.8</text>\r\n",
       "<text text-anchor=\"start\" x=\"485\" y=\"-1108.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.251</text>\r\n",
       "<text text-anchor=\"start\" x=\"479\" y=\"-1093.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 35</text>\r\n",
       "<text text-anchor=\"start\" x=\"470\" y=\"-1078.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [30, 4, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"476.5\" y=\"-1063.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;1 -->\r\n",
       "<g id=\"edge1\" class=\"edge\"><title>0&#45;&gt;1</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M621.111,-1174.91C608.813,-1165.38 595.61,-1155.15 582.99,-1145.37\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"584.845,-1142.38 574.796,-1139.02 580.557,-1147.91 584.845,-1142.38\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"577.943\" y=\"-1160.12\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">True</text>\r\n",
       "</g>\r\n",
       "<!-- 10 -->\r\n",
       "<g id=\"node11\" class=\"node\"><title>10</title>\r\n",
       "<path fill=\"#ede3fb\" stroke=\"black\" d=\"M898,-1139C898,-1139 781,-1139 781,-1139 775,-1139 769,-1133 769,-1127 769,-1127 769,-1068 769,-1068 769,-1062 775,-1056 781,-1056 781,-1056 898,-1056 898,-1056 904,-1056 910,-1062 910,-1068 910,-1068 910,-1127 910,-1127 910,-1133 904,-1139 898,-1139\"/>\r\n",
       "<text text-anchor=\"start\" x=\"777\" y=\"-1123.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.25</text>\r\n",
       "<text text-anchor=\"start\" x=\"802\" y=\"-1108.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.534</text>\r\n",
       "<text text-anchor=\"start\" x=\"796\" y=\"-1093.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 75</text>\r\n",
       "<text text-anchor=\"start\" x=\"783\" y=\"-1078.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 33, 39]</text>\r\n",
       "<text text-anchor=\"start\" x=\"789.5\" y=\"-1063.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;10 -->\r\n",
       "<g id=\"edge10\" class=\"edge\"><title>0&#45;&gt;10</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M731.093,-1174.91C744.87,-1165.2 759.681,-1154.76 773.793,-1144.81\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"775.852,-1147.64 782.009,-1139.02 771.819,-1141.92 775.852,-1147.64\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"777.744\" y=\"-1159.95\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">False</text>\r\n",
       "</g>\r\n",
       "<!-- 2 -->\r\n",
       "<g id=\"node3\" class=\"node\"><title>2</title>\r\n",
       "<path fill=\"#7beeab\" stroke=\"black\" d=\"M352,-1020C352,-1020 235,-1020 235,-1020 229,-1020 223,-1014 223,-1008 223,-1008 223,-949 223,-949 223,-943 229,-937 235,-937 235,-937 352,-937 352,-937 358,-937 364,-943 364,-949 364,-949 364,-1008 364,-1008 364,-1014 358,-1020 352,-1020\"/>\r\n",
       "<text text-anchor=\"start\" x=\"231\" y=\"-1004.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 4.95</text>\r\n",
       "<text text-anchor=\"start\" x=\"256\" y=\"-989.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.375</text>\r\n",
       "<text text-anchor=\"start\" x=\"254\" y=\"-974.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"start\" x=\"245\" y=\"-959.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"238\" y=\"-944.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 1&#45;&gt;2 -->\r\n",
       "<g id=\"edge2\" class=\"edge\"><title>1&#45;&gt;2</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M458.711,-1063.91C432.2,-1050.36 401.144,-1034.5 373.157,-1020.2\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"374.686,-1017.05 364.188,-1015.62 371.501,-1023.28 374.686,-1017.05\"/>\r\n",
       "</g>\r\n",
       "<!-- 5 -->\r\n",
       "<g id=\"node6\" class=\"node\"><title>5</title>\r\n",
       "<path fill=\"#e68540\" stroke=\"black\" d=\"M578,-1020C578,-1020 467,-1020 467,-1020 461,-1020 455,-1014 455,-1008 455,-1008 455,-949 455,-949 455,-943 461,-937 467,-937 467,-937 578,-937 578,-937 584,-937 590,-943 590,-949 590,-949 590,-1008 590,-1008 590,-1014 584,-1020 578,-1020\"/>\r\n",
       "<text text-anchor=\"start\" x=\"463\" y=\"-1004.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 3.05</text>\r\n",
       "<text text-anchor=\"start\" x=\"485\" y=\"-989.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.062</text>\r\n",
       "<text text-anchor=\"start\" x=\"479\" y=\"-974.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 31</text>\r\n",
       "<text text-anchor=\"start\" x=\"470\" y=\"-959.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [30, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"476.5\" y=\"-944.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 1&#45;&gt;5 -->\r\n",
       "<g id=\"edge5\" class=\"edge\"><title>1&#45;&gt;5</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M522.5,-1055.91C522.5,-1047.65 522.5,-1038.86 522.5,-1030.3\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"526,-1030.02 522.5,-1020.02 519,-1030.02 526,-1030.02\"/>\r\n",
       "</g>\r\n",
       "<!-- 3 -->\r\n",
       "<g id=\"node4\" class=\"node\"><title>3</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M199.5,-893.5C199.5,-893.5 107.5,-893.5 107.5,-893.5 101.5,-893.5 95.5,-887.5 95.5,-881.5 95.5,-881.5 95.5,-837.5 95.5,-837.5 95.5,-831.5 101.5,-825.5 107.5,-825.5 107.5,-825.5 199.5,-825.5 199.5,-825.5 205.5,-825.5 211.5,-831.5 211.5,-837.5 211.5,-837.5 211.5,-881.5 211.5,-881.5 211.5,-887.5 205.5,-893.5 199.5,-893.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"124.5\" y=\"-878.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"114\" y=\"-863.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"105\" y=\"-848.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"103.5\" y=\"-833.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 2&#45;&gt;3 -->\r\n",
       "<g id=\"edge3\" class=\"edge\"><title>2&#45;&gt;3</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M244.928,-936.907C230.668,-924.99 215.095,-911.976 200.908,-900.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"203.105,-897.394 193.187,-893.667 198.616,-902.765 203.105,-897.394\"/>\r\n",
       "</g>\r\n",
       "<!-- 4 -->\r\n",
       "<g id=\"node5\" class=\"node\"><title>4</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M345,-893.5C345,-893.5 242,-893.5 242,-893.5 236,-893.5 230,-887.5 230,-881.5 230,-881.5 230,-837.5 230,-837.5 230,-831.5 236,-825.5 242,-825.5 242,-825.5 345,-825.5 345,-825.5 351,-825.5 357,-831.5 357,-837.5 357,-837.5 357,-881.5 357,-881.5 357,-887.5 351,-893.5 345,-893.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"264.5\" y=\"-878.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"254\" y=\"-863.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"245\" y=\"-848.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"238\" y=\"-833.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 2&#45;&gt;4 -->\r\n",
       "<g id=\"edge4\" class=\"edge\"><title>2&#45;&gt;4</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M293.5,-936.907C293.5,-926.204 293.5,-914.615 293.5,-903.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"297,-903.667 293.5,-893.667 290,-903.667 297,-903.667\"/>\r\n",
       "</g>\r\n",
       "<!-- 6 -->\r\n",
       "<g id=\"node7\" class=\"node\"><title>6</title>\r\n",
       "<path fill=\"#eeab7b\" stroke=\"black\" d=\"M504,-901C504,-901 387,-901 387,-901 381,-901 375,-895 375,-889 375,-889 375,-830 375,-830 375,-824 381,-818 387,-818 387,-818 504,-818 504,-818 510,-818 516,-824 516,-830 516,-830 516,-889 516,-889 516,-895 510,-901 504,-901\"/>\r\n",
       "<text text-anchor=\"start\" x=\"383\" y=\"-885.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.15</text>\r\n",
       "<text text-anchor=\"start\" x=\"408\" y=\"-870.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.375</text>\r\n",
       "<text text-anchor=\"start\" x=\"406\" y=\"-855.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"start\" x=\"397\" y=\"-840.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"399.5\" y=\"-825.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 5&#45;&gt;6 -->\r\n",
       "<g id=\"edge6\" class=\"edge\"><title>5&#45;&gt;6</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M495.785,-936.907C489.992,-928.105 483.805,-918.703 477.822,-909.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"480.589,-907.45 472.168,-901.021 474.741,-911.298 480.589,-907.45\"/>\r\n",
       "</g>\r\n",
       "<!-- 9 -->\r\n",
       "<g id=\"node10\" class=\"node\"><title>9</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M643,-893.5C643,-893.5 546,-893.5 546,-893.5 540,-893.5 534,-887.5 534,-881.5 534,-881.5 534,-837.5 534,-837.5 534,-831.5 540,-825.5 546,-825.5 546,-825.5 643,-825.5 643,-825.5 649,-825.5 655,-831.5 655,-837.5 655,-837.5 655,-881.5 655,-881.5 655,-887.5 649,-893.5 643,-893.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"565.5\" y=\"-878.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"551\" y=\"-863.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 27</text>\r\n",
       "<text text-anchor=\"start\" x=\"542\" y=\"-848.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [27, 0, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"548.5\" y=\"-833.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 5&#45;&gt;9 -->\r\n",
       "<g id=\"edge9\" class=\"edge\"><title>5&#45;&gt;9</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M547.48,-936.907C554.338,-925.763 561.787,-913.658 568.691,-902.439\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"571.829,-904.018 574.09,-893.667 565.868,-900.349 571.829,-904.018\"/>\r\n",
       "</g>\r\n",
       "<!-- 7 -->\r\n",
       "<g id=\"node8\" class=\"node\"><title>7</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M352,-774.5C352,-774.5 263,-774.5 263,-774.5 257,-774.5 251,-768.5 251,-762.5 251,-762.5 251,-718.5 251,-718.5 251,-712.5 257,-706.5 263,-706.5 263,-706.5 352,-706.5 352,-706.5 358,-706.5 364,-712.5 364,-718.5 364,-718.5 364,-762.5 364,-762.5 364,-768.5 358,-774.5 352,-774.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"278.5\" y=\"-759.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"268\" y=\"-744.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"259\" y=\"-729.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 0, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"261.5\" y=\"-714.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 6&#45;&gt;7 -->\r\n",
       "<g id=\"edge7\" class=\"edge\"><title>6&#45;&gt;7</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M397.622,-817.907C383.695,-806.101 368.499,-793.217 354.62,-781.45\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"356.511,-778.464 346.62,-774.667 351.984,-783.803 356.511,-778.464\"/>\r\n",
       "</g>\r\n",
       "<!-- 8 -->\r\n",
       "<g id=\"node9\" class=\"node\"><title>8</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M497,-774.5C497,-774.5 394,-774.5 394,-774.5 388,-774.5 382,-768.5 382,-762.5 382,-762.5 382,-718.5 382,-718.5 382,-712.5 388,-706.5 394,-706.5 394,-706.5 497,-706.5 497,-706.5 503,-706.5 509,-712.5 509,-718.5 509,-718.5 509,-762.5 509,-762.5 509,-768.5 503,-774.5 497,-774.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"416.5\" y=\"-759.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"406\" y=\"-744.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"397\" y=\"-729.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"390\" y=\"-714.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 6&#45;&gt;8 -->\r\n",
       "<g id=\"edge8\" class=\"edge\"><title>6&#45;&gt;8</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M445.5,-817.907C445.5,-807.204 445.5,-795.615 445.5,-784.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"449,-784.667 445.5,-774.667 442,-784.667 449,-784.667\"/>\r\n",
       "</g>\r\n",
       "<!-- 11 -->\r\n",
       "<g id=\"node12\" class=\"node\"><title>11</title>\r\n",
       "<path fill=\"#a0f2c2\" stroke=\"black\" d=\"M892,-1020C892,-1020 787,-1020 787,-1020 781,-1020 775,-1014 775,-1008 775,-1008 775,-949 775,-949 775,-943 781,-937 787,-937 787,-937 892,-937 892,-937 898,-937 904,-943 904,-949 904,-949 904,-1008 904,-1008 904,-1014 898,-1020 892,-1020\"/>\r\n",
       "<text text-anchor=\"start\" x=\"784\" y=\"-1004.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 3.6</text>\r\n",
       "<text text-anchor=\"start\" x=\"802\" y=\"-989.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.511</text>\r\n",
       "<text text-anchor=\"start\" x=\"796\" y=\"-974.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 38</text>\r\n",
       "<text text-anchor=\"start\" x=\"783\" y=\"-959.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 24, 11]</text>\r\n",
       "<text text-anchor=\"start\" x=\"784\" y=\"-944.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 10&#45;&gt;11 -->\r\n",
       "<g id=\"edge11\" class=\"edge\"><title>10&#45;&gt;11</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M839.5,-1055.91C839.5,-1047.65 839.5,-1038.86 839.5,-1030.3\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"843,-1030.02 839.5,-1020.02 836,-1030.02 843,-1030.02\"/>\r\n",
       "</g>\r\n",
       "<!-- 52 -->\r\n",
       "<g id=\"node53\" class=\"node\"><title>52</title>\r\n",
       "<path fill=\"#aa79ed\" stroke=\"black\" d=\"M1381,-1020C1381,-1020 1264,-1020 1264,-1020 1258,-1020 1252,-1014 1252,-1008 1252,-1008 1252,-949 1252,-949 1252,-943 1258,-937 1264,-937 1264,-937 1381,-937 1381,-937 1387,-937 1393,-943 1393,-949 1393,-949 1393,-1008 1393,-1008 1393,-1014 1387,-1020 1381,-1020\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1260\" y=\"-1004.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 7.05</text>\r\n",
       "<text text-anchor=\"start\" x=\"1285\" y=\"-989.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.368</text>\r\n",
       "<text text-anchor=\"start\" x=\"1279\" y=\"-974.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 37</text>\r\n",
       "<text text-anchor=\"start\" x=\"1270\" y=\"-959.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 9, 28]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1272.5\" y=\"-944.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 10&#45;&gt;52 -->\r\n",
       "<g id=\"edge52\" class=\"edge\"><title>10&#45;&gt;52</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M910.25,-1079.36C998.609,-1057.96 1149.4,-1021.43 1242.06,-998.985\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1243.06,-1002.34 1251.95,-996.589 1241.41,-995.541 1243.06,-1002.34\"/>\r\n",
       "</g>\r\n",
       "<!-- 12 -->\r\n",
       "<g id=\"node13\" class=\"node\"><title>12</title>\r\n",
       "<path fill=\"#94f1bb\" stroke=\"black\" d=\"M826,-901C826,-901 709,-901 709,-901 703,-901 697,-895 697,-889 697,-889 697,-830 697,-830 697,-824 703,-818 709,-818 709,-818 826,-818 826,-818 832,-818 838,-824 838,-830 838,-830 838,-889 838,-889 838,-895 832,-901 826,-901\"/>\r\n",
       "<text text-anchor=\"start\" x=\"705\" y=\"-885.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.75</text>\r\n",
       "<text text-anchor=\"start\" x=\"730\" y=\"-870.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.431</text>\r\n",
       "<text text-anchor=\"start\" x=\"724\" y=\"-855.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 35</text>\r\n",
       "<text text-anchor=\"start\" x=\"711\" y=\"-840.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 24, 11]</text>\r\n",
       "<text text-anchor=\"start\" x=\"712\" y=\"-825.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 11&#45;&gt;12 -->\r\n",
       "<g id=\"edge12\" class=\"edge\"><title>11&#45;&gt;12</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M814.52,-936.907C809.103,-928.105 803.317,-918.703 797.723,-909.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"800.658,-907.703 792.436,-901.021 794.696,-911.372 800.658,-907.703\"/>\r\n",
       "</g>\r\n",
       "<!-- 51 -->\r\n",
       "<g id=\"node52\" class=\"node\"><title>51</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M957,-893.5C957,-893.5 868,-893.5 868,-893.5 862,-893.5 856,-887.5 856,-881.5 856,-881.5 856,-837.5 856,-837.5 856,-831.5 862,-825.5 868,-825.5 868,-825.5 957,-825.5 957,-825.5 963,-825.5 969,-831.5 969,-837.5 969,-837.5 969,-881.5 969,-881.5 969,-887.5 963,-893.5 957,-893.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"883.5\" y=\"-878.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"873\" y=\"-863.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"864\" y=\"-848.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 0, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"866.5\" y=\"-833.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 11&#45;&gt;51 -->\r\n",
       "<g id=\"edge51\" class=\"edge\"><title>11&#45;&gt;51</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M864.827,-936.907C871.781,-925.763 879.333,-913.658 886.333,-902.439\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"889.482,-904.004 891.806,-893.667 883.543,-900.298 889.482,-904.004\"/>\r\n",
       "</g>\r\n",
       "<!-- 13 -->\r\n",
       "<g id=\"node14\" class=\"node\"><title>13</title>\r\n",
       "<path fill=\"#5dea98\" stroke=\"black\" d=\"M656,-782C656,-782 539,-782 539,-782 533,-782 527,-776 527,-770 527,-770 527,-711 527,-711 527,-705 533,-699 539,-699 539,-699 656,-699 656,-699 662,-699 668,-705 668,-711 668,-711 668,-770 668,-770 668,-776 662,-782 656,-782\"/>\r\n",
       "<text text-anchor=\"start\" x=\"535\" y=\"-766.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.55</text>\r\n",
       "<text text-anchor=\"start\" x=\"564\" y=\"-751.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.26</text>\r\n",
       "<text text-anchor=\"start\" x=\"554\" y=\"-736.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 13</text>\r\n",
       "<text text-anchor=\"start\" x=\"545\" y=\"-721.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 11, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"542\" y=\"-706.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 12&#45;&gt;13 -->\r\n",
       "<g id=\"edge13\" class=\"edge\"><title>12&#45;&gt;13</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M708.519,-817.907C694.41,-808.197 679.243,-797.758 664.79,-787.811\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"666.598,-784.807 656.376,-782.021 662.63,-790.573 666.598,-784.807\"/>\r\n",
       "</g>\r\n",
       "<!-- 26 -->\r\n",
       "<g id=\"node27\" class=\"node\"><title>26</title>\r\n",
       "<path fill=\"#c2f7d8\" stroke=\"black\" d=\"M846,-782C846,-782 735,-782 735,-782 729,-782 723,-776 723,-770 723,-770 723,-711 723,-711 723,-705 729,-699 735,-699 735,-699 846,-699 846,-699 852,-699 858,-705 858,-711 858,-711 858,-770 858,-770 858,-776 852,-782 846,-782\"/>\r\n",
       "<text text-anchor=\"start\" x=\"731\" y=\"-766.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.85</text>\r\n",
       "<text text-anchor=\"start\" x=\"753\" y=\"-751.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.483</text>\r\n",
       "<text text-anchor=\"start\" x=\"747\" y=\"-736.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 22</text>\r\n",
       "<text text-anchor=\"start\" x=\"738\" y=\"-721.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 13, 9]</text>\r\n",
       "<text text-anchor=\"start\" x=\"735\" y=\"-706.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 12&#45;&gt;26 -->\r\n",
       "<g id=\"edge26\" class=\"edge\"><title>12&#45;&gt;26</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M775.48,-817.907C777.121,-809.558 778.868,-800.671 780.569,-792.02\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"784.04,-792.508 782.534,-782.021 777.171,-791.158 784.04,-792.508\"/>\r\n",
       "</g>\r\n",
       "<!-- 14 -->\r\n",
       "<g id=\"node15\" class=\"node\"><title>14</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M427,-655.5C427,-655.5 324,-655.5 324,-655.5 318,-655.5 312,-649.5 312,-643.5 312,-643.5 312,-599.5 312,-599.5 312,-593.5 318,-587.5 324,-587.5 324,-587.5 427,-587.5 427,-587.5 433,-587.5 439,-593.5 439,-599.5 439,-599.5 439,-643.5 439,-643.5 439,-649.5 433,-655.5 427,-655.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"346.5\" y=\"-640.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"336\" y=\"-625.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"start\" x=\"327\" y=\"-610.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 4, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"320\" y=\"-595.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 13&#45;&gt;14 -->\r\n",
       "<g id=\"edge14\" class=\"edge\"><title>13&#45;&gt;14</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M526.605,-703.507C491.791,-685.803 455.584,-667.333 447.5,-663 445.979,-662.185 444.442,-661.357 442.894,-660.519\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"444.394,-657.35 433.939,-655.634 441.042,-663.496 444.394,-657.35\"/>\r\n",
       "</g>\r\n",
       "<!-- 15 -->\r\n",
       "<g id=\"node16\" class=\"node\"><title>15</title>\r\n",
       "<path fill=\"#72eca5\" stroke=\"black\" d=\"M580,-663C580,-663 469,-663 469,-663 463,-663 457,-657 457,-651 457,-651 457,-592 457,-592 457,-586 463,-580 469,-580 469,-580 580,-580 580,-580 586,-580 592,-586 592,-592 592,-592 592,-651 592,-651 592,-657 586,-663 580,-663\"/>\r\n",
       "<text text-anchor=\"start\" x=\"465\" y=\"-647.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.85</text>\r\n",
       "<text text-anchor=\"start\" x=\"487\" y=\"-632.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.346</text>\r\n",
       "<text text-anchor=\"start\" x=\"485\" y=\"-617.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 9</text>\r\n",
       "<text text-anchor=\"start\" x=\"476\" y=\"-602.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 7, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"469\" y=\"-587.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 13&#45;&gt;15 -->\r\n",
       "<g id=\"edge15\" class=\"edge\"><title>13&#45;&gt;15</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M572.173,-698.907C566.681,-690.105 560.815,-680.703 555.143,-671.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"558.045,-669.652 549.782,-663.021 552.106,-673.358 558.045,-669.652\"/>\r\n",
       "</g>\r\n",
       "<!-- 16 -->\r\n",
       "<g id=\"node17\" class=\"node\"><title>16</title>\r\n",
       "<path fill=\"#9cf2c0\" stroke=\"black\" d=\"M410,-544C410,-544 307,-544 307,-544 301,-544 295,-538 295,-532 295,-532 295,-473 295,-473 295,-467 301,-461 307,-461 307,-461 410,-461 410,-461 416,-461 422,-467 422,-473 422,-473 422,-532 422,-532 422,-538 416,-544 410,-544\"/>\r\n",
       "<text text-anchor=\"start\" x=\"303\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.6</text>\r\n",
       "<text text-anchor=\"start\" x=\"321\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"319\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 6</text>\r\n",
       "<text text-anchor=\"start\" x=\"310\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 4, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"303\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 15&#45;&gt;16 -->\r\n",
       "<g id=\"edge16\" class=\"edge\"><title>15&#45;&gt;16</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M466.907,-579.907C453.13,-570.197 438.319,-559.758 424.207,-549.811\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"426.181,-546.921 415.991,-544.021 422.148,-552.643 426.181,-546.921\"/>\r\n",
       "</g>\r\n",
       "<!-- 25 -->\r\n",
       "<g id=\"node26\" class=\"node\"><title>25</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M557,-536.5C557,-536.5 454,-536.5 454,-536.5 448,-536.5 442,-530.5 442,-524.5 442,-524.5 442,-480.5 442,-480.5 442,-474.5 448,-468.5 454,-468.5 454,-468.5 557,-468.5 557,-468.5 563,-468.5 569,-474.5 569,-480.5 569,-480.5 569,-524.5 569,-524.5 569,-530.5 563,-536.5 557,-536.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"476.5\" y=\"-521.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"466\" y=\"-506.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"457\" y=\"-491.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"450\" y=\"-476.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 15&#45;&gt;25 -->\r\n",
       "<g id=\"edge25\" class=\"edge\"><title>15&#45;&gt;25</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M517.908,-579.907C516.17,-569.204 514.288,-557.615 512.528,-546.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"515.944,-545.977 510.886,-536.667 509.034,-547.099 515.944,-545.977\"/>\r\n",
       "</g>\r\n",
       "<!-- 17 -->\r\n",
       "<g id=\"node18\" class=\"node\"><title>17</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M258,-425C258,-425 141,-425 141,-425 135,-425 129,-419 129,-413 129,-413 129,-354 129,-354 129,-348 135,-342 141,-342 141,-342 258,-342 258,-342 264,-342 270,-348 270,-354 270,-354 270,-413 270,-413 270,-419 264,-425 258,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"137\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.65</text>\r\n",
       "<text text-anchor=\"start\" x=\"170.5\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"160\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"151\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"144\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 16&#45;&gt;17 -->\r\n",
       "<g id=\"edge17\" class=\"edge\"><title>16&#45;&gt;17</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M303.336,-460.907C290.263,-451.288 276.219,-440.953 262.815,-431.09\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"264.696,-428.129 254.567,-425.021 260.547,-433.767 264.696,-428.129\"/>\r\n",
       "</g>\r\n",
       "<!-- 20 -->\r\n",
       "<g id=\"node21\" class=\"node\"><title>20</title>\r\n",
       "<path fill=\"#7beeab\" stroke=\"black\" d=\"M417,-425C417,-425 300,-425 300,-425 294,-425 288,-419 288,-413 288,-413 288,-354 288,-354 288,-348 294,-342 300,-342 300,-342 417,-342 417,-342 423,-342 429,-348 429,-354 429,-354 429,-413 429,-413 429,-419 423,-425 417,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"296\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.65</text>\r\n",
       "<text text-anchor=\"start\" x=\"321\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.375</text>\r\n",
       "<text text-anchor=\"start\" x=\"319\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"start\" x=\"310\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"303\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 16&#45;&gt;20 -->\r\n",
       "<g id=\"edge20\" class=\"edge\"><title>16&#45;&gt;20</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M358.5,-460.907C358.5,-452.649 358.5,-443.864 358.5,-435.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"362,-435.021 358.5,-425.021 355,-435.021 362,-435.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 18 -->\r\n",
       "<g id=\"node19\" class=\"node\"><title>18</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M115,-298.5C115,-298.5 12,-298.5 12,-298.5 6,-298.5 -7.10543e-015,-292.5 -7.10543e-015,-286.5 -7.10543e-015,-286.5 -7.10543e-015,-242.5 -7.10543e-015,-242.5 -7.10543e-015,-236.5 6,-230.5 12,-230.5 12,-230.5 115,-230.5 115,-230.5 121,-230.5 127,-236.5 127,-242.5 127,-242.5 127,-286.5 127,-286.5 127,-292.5 121,-298.5 115,-298.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"34.5\" y=\"-283.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"24\" y=\"-268.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"15\" y=\"-253.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"8\" y=\"-238.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 17&#45;&gt;18 -->\r\n",
       "<g id=\"edge18\" class=\"edge\"><title>17&#45;&gt;18</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M152.315,-341.907C138.591,-330.101 123.615,-317.217 109.937,-305.45\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"111.916,-302.535 102.053,-298.667 107.351,-307.842 111.916,-302.535\"/>\r\n",
       "</g>\r\n",
       "<!-- 19 -->\r\n",
       "<g id=\"node20\" class=\"node\"><title>19</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M249.5,-298.5C249.5,-298.5 157.5,-298.5 157.5,-298.5 151.5,-298.5 145.5,-292.5 145.5,-286.5 145.5,-286.5 145.5,-242.5 145.5,-242.5 145.5,-236.5 151.5,-230.5 157.5,-230.5 157.5,-230.5 249.5,-230.5 249.5,-230.5 255.5,-230.5 261.5,-236.5 261.5,-242.5 261.5,-242.5 261.5,-286.5 261.5,-286.5 261.5,-292.5 255.5,-298.5 249.5,-298.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"174.5\" y=\"-283.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"164\" y=\"-268.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"155\" y=\"-253.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"153.5\" y=\"-238.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 17&#45;&gt;19 -->\r\n",
       "<g id=\"edge19\" class=\"edge\"><title>17&#45;&gt;19</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M200.888,-341.907C201.254,-331.204 201.65,-319.615 202.02,-308.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"205.522,-308.781 202.366,-298.667 198.526,-308.541 205.522,-308.781\"/>\r\n",
       "</g>\r\n",
       "<!-- 21 -->\r\n",
       "<g id=\"node22\" class=\"node\"><title>21</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M410,-306C410,-306 299,-306 299,-306 293,-306 287,-300 287,-294 287,-294 287,-235 287,-235 287,-229 293,-223 299,-223 299,-223 410,-223 410,-223 416,-223 422,-229 422,-235 422,-235 422,-294 422,-294 422,-300 416,-306 410,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"295\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.75</text>\r\n",
       "<text text-anchor=\"start\" x=\"325.5\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"315\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"306\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"299\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 20&#45;&gt;21 -->\r\n",
       "<g id=\"edge21\" class=\"edge\"><title>20&#45;&gt;21</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M357.112,-341.907C356.827,-333.558 356.523,-324.671 356.227,-316.02\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"359.725,-315.895 355.885,-306.021 352.729,-316.135 359.725,-315.895\"/>\r\n",
       "</g>\r\n",
       "<!-- 24 -->\r\n",
       "<g id=\"node25\" class=\"node\"><title>24</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M555,-298.5C555,-298.5 452,-298.5 452,-298.5 446,-298.5 440,-292.5 440,-286.5 440,-286.5 440,-242.5 440,-242.5 440,-236.5 446,-230.5 452,-230.5 452,-230.5 555,-230.5 555,-230.5 561,-230.5 567,-236.5 567,-242.5 567,-242.5 567,-286.5 567,-286.5 567,-292.5 561,-298.5 555,-298.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"474.5\" y=\"-283.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"464\" y=\"-268.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"455\" y=\"-253.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"448\" y=\"-238.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 20&#45;&gt;24 -->\r\n",
       "<g id=\"edge24\" class=\"edge\"><title>20&#45;&gt;24</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M408.807,-341.907C423.576,-329.99 439.705,-316.976 454.398,-305.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"456.811,-307.67 462.396,-298.667 452.415,-302.223 456.811,-307.67\"/>\r\n",
       "</g>\r\n",
       "<!-- 22 -->\r\n",
       "<g id=\"node23\" class=\"node\"><title>22</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M276,-179.5C276,-179.5 173,-179.5 173,-179.5 167,-179.5 161,-173.5 161,-167.5 161,-167.5 161,-123.5 161,-123.5 161,-117.5 167,-111.5 173,-111.5 173,-111.5 276,-111.5 276,-111.5 282,-111.5 288,-117.5 288,-123.5 288,-123.5 288,-167.5 288,-167.5 288,-173.5 282,-179.5 276,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"195.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"185\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"176\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"169\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 21&#45;&gt;22 -->\r\n",
       "<g id=\"edge22\" class=\"edge\"><title>21&#45;&gt;22</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M309.397,-222.907C296.278,-211.101 281.963,-198.217 268.888,-186.45\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"271.127,-183.755 261.352,-179.667 266.444,-188.958 271.127,-183.755\"/>\r\n",
       "</g>\r\n",
       "<!-- 23 -->\r\n",
       "<g id=\"node24\" class=\"node\"><title>23</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M410.5,-179.5C410.5,-179.5 318.5,-179.5 318.5,-179.5 312.5,-179.5 306.5,-173.5 306.5,-167.5 306.5,-167.5 306.5,-123.5 306.5,-123.5 306.5,-117.5 312.5,-111.5 318.5,-111.5 318.5,-111.5 410.5,-111.5 410.5,-111.5 416.5,-111.5 422.5,-117.5 422.5,-123.5 422.5,-123.5 422.5,-167.5 422.5,-167.5 422.5,-173.5 416.5,-179.5 410.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"335.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"325\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"316\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"314.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 21&#45;&gt;23 -->\r\n",
       "<g id=\"edge23\" class=\"edge\"><title>21&#45;&gt;23</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M357.969,-222.907C358.884,-212.204 359.875,-200.615 360.801,-189.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"364.301,-189.929 361.665,-179.667 357.326,-189.333 364.301,-189.929\"/>\r\n",
       "</g>\r\n",
       "<!-- 27 -->\r\n",
       "<g id=\"node28\" class=\"node\"><title>27</title>\r\n",
       "<path fill=\"#e3fbed\" stroke=\"black\" d=\"M842,-663C842,-663 739,-663 739,-663 733,-663 727,-657 727,-651 727,-651 727,-592 727,-592 727,-586 733,-580 739,-580 739,-580 842,-580 842,-580 848,-580 854,-586 854,-592 854,-592 854,-651 854,-651 854,-657 848,-663 842,-663\"/>\r\n",
       "<text text-anchor=\"start\" x=\"735\" y=\"-647.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.4</text>\r\n",
       "<text text-anchor=\"start\" x=\"753\" y=\"-632.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.497</text>\r\n",
       "<text text-anchor=\"start\" x=\"747\" y=\"-617.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 13</text>\r\n",
       "<text text-anchor=\"start\" x=\"742\" y=\"-602.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 7, 6]</text>\r\n",
       "<text text-anchor=\"start\" x=\"735\" y=\"-587.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 26&#45;&gt;27 -->\r\n",
       "<g id=\"edge27\" class=\"edge\"><title>26&#45;&gt;27</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M790.5,-698.907C790.5,-690.649 790.5,-681.864 790.5,-673.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"794,-673.021 790.5,-663.021 787,-673.021 794,-673.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 42 -->\r\n",
       "<g id=\"node43\" class=\"node\"><title>42</title>\r\n",
       "<path fill=\"#9cf2c0\" stroke=\"black\" d=\"M1016,-663C1016,-663 905,-663 905,-663 899,-663 893,-657 893,-651 893,-651 893,-592 893,-592 893,-586 899,-580 905,-580 905,-580 1016,-580 1016,-580 1022,-580 1028,-586 1028,-592 1028,-592 1028,-651 1028,-651 1028,-657 1022,-663 1016,-663\"/>\r\n",
       "<text text-anchor=\"start\" x=\"901\" y=\"-647.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.95</text>\r\n",
       "<text text-anchor=\"start\" x=\"923\" y=\"-632.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"921\" y=\"-617.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 9</text>\r\n",
       "<text text-anchor=\"start\" x=\"912\" y=\"-602.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 6, 3]</text>\r\n",
       "<text text-anchor=\"start\" x=\"905\" y=\"-587.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 26&#45;&gt;42 -->\r\n",
       "<g id=\"edge42\" class=\"edge\"><title>26&#45;&gt;42</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M849.481,-698.907C863.59,-689.197 878.757,-678.758 893.21,-668.811\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"895.37,-671.573 901.624,-663.021 891.402,-665.807 895.37,-671.573\"/>\r\n",
       "</g>\r\n",
       "<!-- 28 -->\r\n",
       "<g id=\"node29\" class=\"node\"><title>28</title>\r\n",
       "<path fill=\"#9cf2c0\" stroke=\"black\" d=\"M708,-544C708,-544 599,-544 599,-544 593,-544 587,-538 587,-532 587,-532 587,-473 587,-473 587,-467 593,-461 599,-461 599,-461 708,-461 708,-461 714,-461 720,-467 720,-473 720,-473 720,-532 720,-532 720,-538 714,-544 708,-544\"/>\r\n",
       "<text text-anchor=\"start\" x=\"595\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.1</text>\r\n",
       "<text text-anchor=\"start\" x=\"616\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"614\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"605\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"598\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 27&#45;&gt;28 -->\r\n",
       "<g id=\"edge28\" class=\"edge\"><title>27&#45;&gt;28</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M742.969,-579.907C731.917,-570.469 720.06,-560.343 708.709,-550.649\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"710.825,-547.854 700.947,-544.021 706.279,-553.177 710.825,-547.854\"/>\r\n",
       "</g>\r\n",
       "<!-- 31 -->\r\n",
       "<g id=\"node32\" class=\"node\"><title>31</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M867,-544C867,-544 750,-544 750,-544 744,-544 738,-538 738,-532 738,-532 738,-473 738,-473 738,-467 744,-461 750,-461 750,-461 867,-461 867,-461 873,-461 879,-467 879,-473 879,-473 879,-532 879,-532 879,-538 873,-544 867,-544\"/>\r\n",
       "<text text-anchor=\"start\" x=\"746\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.15</text>\r\n",
       "<text text-anchor=\"start\" x=\"779.5\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"765\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 10</text>\r\n",
       "<text text-anchor=\"start\" x=\"760\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 5, 5]</text>\r\n",
       "<text text-anchor=\"start\" x=\"753\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 27&#45;&gt;31 -->\r\n",
       "<g id=\"edge31\" class=\"edge\"><title>27&#45;&gt;31</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M796.745,-579.907C798.029,-571.558 799.397,-562.671 800.728,-554.02\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"804.205,-554.437 802.266,-544.021 797.286,-553.372 804.205,-554.437\"/>\r\n",
       "</g>\r\n",
       "<!-- 29 -->\r\n",
       "<g id=\"node30\" class=\"node\"><title>29</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M562,-417.5C562,-417.5 459,-417.5 459,-417.5 453,-417.5 447,-411.5 447,-405.5 447,-405.5 447,-361.5 447,-361.5 447,-355.5 453,-349.5 459,-349.5 459,-349.5 562,-349.5 562,-349.5 568,-349.5 574,-355.5 574,-361.5 574,-361.5 574,-405.5 574,-405.5 574,-411.5 568,-417.5 562,-417.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"481.5\" y=\"-402.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"471\" y=\"-387.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"462\" y=\"-372.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"455\" y=\"-357.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 28&#45;&gt;29 -->\r\n",
       "<g id=\"edge29\" class=\"edge\"><title>28&#45;&gt;29</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M603.887,-460.907C589.321,-448.99 573.415,-435.976 558.924,-424.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"560.993,-421.29 551.037,-417.667 556.561,-426.708 560.993,-421.29\"/>\r\n",
       "</g>\r\n",
       "<!-- 30 -->\r\n",
       "<g id=\"node31\" class=\"node\"><title>30</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M707,-417.5C707,-417.5 604,-417.5 604,-417.5 598,-417.5 592,-411.5 592,-405.5 592,-405.5 592,-361.5 592,-361.5 592,-355.5 598,-349.5 604,-349.5 604,-349.5 707,-349.5 707,-349.5 713,-349.5 719,-355.5 719,-361.5 719,-361.5 719,-405.5 719,-405.5 719,-411.5 713,-417.5 707,-417.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"626.5\" y=\"-402.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"616\" y=\"-387.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"607\" y=\"-372.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"600\" y=\"-357.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 28&#45;&gt;30 -->\r\n",
       "<g id=\"edge30\" class=\"edge\"><title>28&#45;&gt;30</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M654.194,-460.907C654.377,-450.204 654.575,-438.615 654.76,-427.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"658.262,-427.725 654.933,-417.667 651.263,-427.606 658.262,-427.725\"/>\r\n",
       "</g>\r\n",
       "<!-- 32 -->\r\n",
       "<g id=\"node33\" class=\"node\"><title>32</title>\r\n",
       "<path fill=\"#d7fae6\" stroke=\"black\" d=\"M860,-425C860,-425 749,-425 749,-425 743,-425 737,-419 737,-413 737,-413 737,-354 737,-354 737,-348 743,-342 749,-342 749,-342 860,-342 860,-342 866,-342 872,-348 872,-354 872,-354 872,-413 872,-413 872,-419 866,-425 860,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"745\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.75</text>\r\n",
       "<text text-anchor=\"start\" x=\"767\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.494</text>\r\n",
       "<text text-anchor=\"start\" x=\"765\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 9</text>\r\n",
       "<text text-anchor=\"start\" x=\"756\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 5, 4]</text>\r\n",
       "<text text-anchor=\"start\" x=\"749\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 31&#45;&gt;32 -->\r\n",
       "<g id=\"edge32\" class=\"edge\"><title>31&#45;&gt;32</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M807.112,-460.907C806.827,-452.558 806.523,-443.671 806.227,-435.02\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"809.725,-434.895 805.885,-425.021 802.729,-435.135 809.725,-434.895\"/>\r\n",
       "</g>\r\n",
       "<!-- 41 -->\r\n",
       "<g id=\"node42\" class=\"node\"><title>41</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M994.5,-417.5C994.5,-417.5 902.5,-417.5 902.5,-417.5 896.5,-417.5 890.5,-411.5 890.5,-405.5 890.5,-405.5 890.5,-361.5 890.5,-361.5 890.5,-355.5 896.5,-349.5 902.5,-349.5 902.5,-349.5 994.5,-349.5 994.5,-349.5 1000.5,-349.5 1006.5,-355.5 1006.5,-361.5 1006.5,-361.5 1006.5,-405.5 1006.5,-405.5 1006.5,-411.5 1000.5,-417.5 994.5,-417.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"919.5\" y=\"-402.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"909\" y=\"-387.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"900\" y=\"-372.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"898.5\" y=\"-357.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 31&#45;&gt;41 -->\r\n",
       "<g id=\"edge41\" class=\"edge\"><title>31&#45;&gt;41</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M857.072,-460.907C871.332,-448.99 886.905,-435.976 901.092,-424.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"903.384,-426.765 908.813,-417.667 898.895,-421.394 903.384,-426.765\"/>\r\n",
       "</g>\r\n",
       "<!-- 33 -->\r\n",
       "<g id=\"node34\" class=\"node\"><title>33</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M718,-306C718,-306 601,-306 601,-306 595,-306 589,-300 589,-294 589,-294 589,-235 589,-235 589,-229 595,-223 601,-223 601,-223 718,-223 718,-223 724,-223 730,-229 730,-235 730,-235 730,-294 730,-294 730,-300 724,-306 718,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"597\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.95</text>\r\n",
       "<text text-anchor=\"start\" x=\"630.5\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"620\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 6</text>\r\n",
       "<text text-anchor=\"start\" x=\"611\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 3]</text>\r\n",
       "<text text-anchor=\"start\" x=\"604\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 32&#45;&gt;33 -->\r\n",
       "<g id=\"edge33\" class=\"edge\"><title>32&#45;&gt;33</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M754.193,-341.907C742.384,-332.379 729.705,-322.148 717.586,-312.37\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"719.698,-309.577 709.718,-306.021 715.303,-315.024 719.698,-309.577\"/>\r\n",
       "</g>\r\n",
       "<!-- 38 -->\r\n",
       "<g id=\"node39\" class=\"node\"><title>38</title>\r\n",
       "<path fill=\"#9cf2c0\" stroke=\"black\" d=\"M877,-306C877,-306 760,-306 760,-306 754,-306 748,-300 748,-294 748,-294 748,-235 748,-235 748,-229 754,-223 760,-223 760,-223 877,-223 877,-223 883,-223 889,-229 889,-235 889,-235 889,-294 889,-294 889,-300 883,-306 877,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"756\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.95</text>\r\n",
       "<text text-anchor=\"start\" x=\"781\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"779\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"770\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"763\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 32&#45;&gt;38 -->\r\n",
       "<g id=\"edge38\" class=\"edge\"><title>32&#45;&gt;38</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M809.357,-341.907C810.356,-333.558 811.42,-324.671 812.455,-316.02\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"815.938,-316.366 813.651,-306.021 808.988,-315.534 815.938,-316.366\"/>\r\n",
       "</g>\r\n",
       "<!-- 34 -->\r\n",
       "<g id=\"node35\" class=\"node\"><title>34</title>\r\n",
       "<path fill=\"#bdf6d5\" stroke=\"black\" d=\"M575,-187C575,-187 464,-187 464,-187 458,-187 452,-181 452,-175 452,-175 452,-116 452,-116 452,-110 458,-104 464,-104 464,-104 575,-104 575,-104 581,-104 587,-110 587,-116 587,-116 587,-175 587,-175 587,-181 581,-187 575,-187\"/>\r\n",
       "<text text-anchor=\"start\" x=\"460\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.65</text>\r\n",
       "<text text-anchor=\"start\" x=\"486\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.48</text>\r\n",
       "<text text-anchor=\"start\" x=\"480\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 5</text>\r\n",
       "<text text-anchor=\"start\" x=\"471\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"464\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 33&#45;&gt;34 -->\r\n",
       "<g id=\"edge34\" class=\"edge\"><title>33&#45;&gt;34</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M610.928,-222.907C599.634,-213.469 587.517,-203.343 575.918,-193.649\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"577.904,-190.748 567.986,-187.021 573.415,-196.119 577.904,-190.748\"/>\r\n",
       "</g>\r\n",
       "<!-- 37 -->\r\n",
       "<g id=\"node38\" class=\"node\"><title>37</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M709.5,-179.5C709.5,-179.5 617.5,-179.5 617.5,-179.5 611.5,-179.5 605.5,-173.5 605.5,-167.5 605.5,-167.5 605.5,-123.5 605.5,-123.5 605.5,-117.5 611.5,-111.5 617.5,-111.5 617.5,-111.5 709.5,-111.5 709.5,-111.5 715.5,-111.5 721.5,-117.5 721.5,-123.5 721.5,-123.5 721.5,-167.5 721.5,-167.5 721.5,-173.5 715.5,-179.5 709.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"634.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"624\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"615\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"613.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 33&#45;&gt;37 -->\r\n",
       "<g id=\"edge37\" class=\"edge\"><title>33&#45;&gt;37</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M660.888,-222.907C661.254,-212.204 661.65,-200.615 662.02,-189.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"665.522,-189.781 662.366,-179.667 658.526,-189.541 665.522,-189.781\"/>\r\n",
       "</g>\r\n",
       "<!-- 35 -->\r\n",
       "<g id=\"node36\" class=\"node\"><title>35</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M498,-68C498,-68 395,-68 395,-68 389,-68 383,-62 383,-56 383,-56 383,-12 383,-12 383,-6 389,-0 395,-0 395,-0 498,-0 498,-0 504,-0 510,-6 510,-12 510,-12 510,-56 510,-56 510,-62 504,-68 498,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"417.5\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"407\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"398\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"391\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 34&#45;&gt;35 -->\r\n",
       "<g id=\"edge35\" class=\"edge\"><title>34&#45;&gt;35</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M492.317,-103.726C486.419,-94.879 480.173,-85.51 474.254,-76.6303\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"477.159,-74.6787 468.7,-68.2996 471.335,-78.5616 477.159,-74.6787\"/>\r\n",
       "</g>\r\n",
       "<!-- 36 -->\r\n",
       "<g id=\"node37\" class=\"node\"><title>36</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M643,-68C643,-68 540,-68 540,-68 534,-68 528,-62 528,-56 528,-56 528,-12 528,-12 528,-6 534,-0 540,-0 540,-0 643,-0 643,-0 649,-0 655,-6 655,-12 655,-12 655,-56 655,-56 655,-62 649,-68 643,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"562.5\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"552\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"start\" x=\"543\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"536\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 34&#45;&gt;36 -->\r\n",
       "<g id=\"edge36\" class=\"edge\"><title>34&#45;&gt;36</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M546.31,-103.726C552.068,-94.9703 558.161,-85.7032 563.946,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"567.035,-78.5781 569.604,-68.2996 561.186,-74.7322 567.035,-78.5781\"/>\r\n",
       "</g>\r\n",
       "<!-- 39 -->\r\n",
       "<g id=\"node40\" class=\"node\"><title>39</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M855.5,-179.5C855.5,-179.5 763.5,-179.5 763.5,-179.5 757.5,-179.5 751.5,-173.5 751.5,-167.5 751.5,-167.5 751.5,-123.5 751.5,-123.5 751.5,-117.5 757.5,-111.5 763.5,-111.5 763.5,-111.5 855.5,-111.5 855.5,-111.5 861.5,-111.5 867.5,-117.5 867.5,-123.5 867.5,-123.5 867.5,-167.5 867.5,-167.5 867.5,-173.5 861.5,-179.5 855.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"780.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"770\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"761\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"759.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 38&#45;&gt;39 -->\r\n",
       "<g id=\"edge39\" class=\"edge\"><title>38&#45;&gt;39</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M815.377,-222.907C814.554,-212.204 813.663,-200.615 812.829,-189.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"816.308,-189.369 812.051,-179.667 809.329,-189.906 816.308,-189.369\"/>\r\n",
       "</g>\r\n",
       "<!-- 40 -->\r\n",
       "<g id=\"node41\" class=\"node\"><title>40</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M1001,-179.5C1001,-179.5 898,-179.5 898,-179.5 892,-179.5 886,-173.5 886,-167.5 886,-167.5 886,-123.5 886,-123.5 886,-117.5 892,-111.5 898,-111.5 898,-111.5 1001,-111.5 1001,-111.5 1007,-111.5 1013,-117.5 1013,-123.5 1013,-123.5 1013,-167.5 1013,-167.5 1013,-173.5 1007,-179.5 1001,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"920.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"910\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"901\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"894\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 38&#45;&gt;40 -->\r\n",
       "<g id=\"edge40\" class=\"edge\"><title>38&#45;&gt;40</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M863.95,-222.907C877.17,-211.101 891.595,-198.217 904.77,-186.45\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"907.237,-188.939 912.364,-179.667 902.575,-183.718 907.237,-188.939\"/>\r\n",
       "</g>\r\n",
       "<!-- 43 -->\r\n",
       "<g id=\"node44\" class=\"node\"><title>43</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M1012,-536.5C1012,-536.5 909,-536.5 909,-536.5 903,-536.5 897,-530.5 897,-524.5 897,-524.5 897,-480.5 897,-480.5 897,-474.5 903,-468.5 909,-468.5 909,-468.5 1012,-468.5 1012,-468.5 1018,-468.5 1024,-474.5 1024,-480.5 1024,-480.5 1024,-524.5 1024,-524.5 1024,-530.5 1018,-536.5 1012,-536.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"931.5\" y=\"-521.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"921\" y=\"-506.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"912\" y=\"-491.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"905\" y=\"-476.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 42&#45;&gt;43 -->\r\n",
       "<g id=\"edge43\" class=\"edge\"><title>42&#45;&gt;43</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M960.5,-579.907C960.5,-569.204 960.5,-557.615 960.5,-546.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"964,-546.667 960.5,-536.667 957,-546.667 964,-546.667\"/>\r\n",
       "</g>\r\n",
       "<!-- 44 -->\r\n",
       "<g id=\"node45\" class=\"node\"><title>44</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M1171,-544C1171,-544 1054,-544 1054,-544 1048,-544 1042,-538 1042,-532 1042,-532 1042,-473 1042,-473 1042,-467 1048,-461 1054,-461 1054,-461 1171,-461 1171,-461 1177,-461 1183,-467 1183,-473 1183,-473 1183,-532 1183,-532 1183,-538 1177,-544 1171,-544\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1050\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.95</text>\r\n",
       "<text text-anchor=\"start\" x=\"1083.5\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"1073\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 6</text>\r\n",
       "<text text-anchor=\"start\" x=\"1064\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 3]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1057\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 42&#45;&gt;44 -->\r\n",
       "<g id=\"edge44\" class=\"edge\"><title>42&#45;&gt;44</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1013.24,-579.907C1025.62,-570.379 1038.91,-560.148 1051.61,-550.37\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1054.07,-552.894 1059.86,-544.021 1049.8,-547.347 1054.07,-552.894\"/>\r\n",
       "</g>\r\n",
       "<!-- 45 -->\r\n",
       "<g id=\"node46\" class=\"node\"><title>45</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M1140,-417.5C1140,-417.5 1037,-417.5 1037,-417.5 1031,-417.5 1025,-411.5 1025,-405.5 1025,-405.5 1025,-361.5 1025,-361.5 1025,-355.5 1031,-349.5 1037,-349.5 1037,-349.5 1140,-349.5 1140,-349.5 1146,-349.5 1152,-355.5 1152,-361.5 1152,-361.5 1152,-405.5 1152,-405.5 1152,-411.5 1146,-417.5 1140,-417.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1059.5\" y=\"-402.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1049\" y=\"-387.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"1040\" y=\"-372.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1033\" y=\"-357.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 44&#45;&gt;45 -->\r\n",
       "<g id=\"edge45\" class=\"edge\"><title>44&#45;&gt;45</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1104.17,-460.907C1101.98,-450.204 1099.6,-438.615 1097.38,-427.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1100.74,-426.76 1095.3,-417.667 1093.88,-428.166 1100.74,-426.76\"/>\r\n",
       "</g>\r\n",
       "<!-- 46 -->\r\n",
       "<g id=\"node47\" class=\"node\"><title>46</title>\r\n",
       "<path fill=\"#ab7bee\" stroke=\"black\" d=\"M1299,-425C1299,-425 1182,-425 1182,-425 1176,-425 1170,-419 1170,-413 1170,-413 1170,-354 1170,-354 1170,-348 1176,-342 1182,-342 1182,-342 1299,-342 1299,-342 1305,-342 1311,-348 1311,-354 1311,-354 1311,-413 1311,-413 1311,-419 1305,-425 1299,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1178\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.05</text>\r\n",
       "<text text-anchor=\"start\" x=\"1203\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.375</text>\r\n",
       "<text text-anchor=\"start\" x=\"1201\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"start\" x=\"1192\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 3]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1190.5\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 44&#45;&gt;46 -->\r\n",
       "<g id=\"edge46\" class=\"edge\"><title>44&#45;&gt;46</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1156.91,-460.907C1167.14,-451.56 1178.1,-441.538 1188.61,-431.929\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1191.15,-434.351 1196.17,-425.021 1186.43,-429.184 1191.15,-434.351\"/>\r\n",
       "</g>\r\n",
       "<!-- 47 -->\r\n",
       "<g id=\"node48\" class=\"node\"><title>47</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M1152,-306C1152,-306 1049,-306 1049,-306 1043,-306 1037,-300 1037,-294 1037,-294 1037,-235 1037,-235 1037,-229 1043,-223 1049,-223 1049,-223 1152,-223 1152,-223 1158,-223 1164,-229 1164,-235 1164,-235 1164,-294 1164,-294 1164,-300 1158,-306 1152,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1045\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 3.2</text>\r\n",
       "<text text-anchor=\"start\" x=\"1071.5\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"1061\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"1052\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1045\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 46&#45;&gt;47 -->\r\n",
       "<g id=\"edge47\" class=\"edge\"><title>46&#45;&gt;47</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1191.93,-341.907C1180.63,-332.469 1168.52,-322.343 1156.92,-312.649\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1158.9,-309.748 1148.99,-306.021 1154.42,-315.119 1158.9,-309.748\"/>\r\n",
       "</g>\r\n",
       "<!-- 50 -->\r\n",
       "<g id=\"node51\" class=\"node\"><title>50</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M1286.5,-298.5C1286.5,-298.5 1194.5,-298.5 1194.5,-298.5 1188.5,-298.5 1182.5,-292.5 1182.5,-286.5 1182.5,-286.5 1182.5,-242.5 1182.5,-242.5 1182.5,-236.5 1188.5,-230.5 1194.5,-230.5 1194.5,-230.5 1286.5,-230.5 1286.5,-230.5 1292.5,-230.5 1298.5,-236.5 1298.5,-242.5 1298.5,-242.5 1298.5,-286.5 1298.5,-286.5 1298.5,-292.5 1292.5,-298.5 1286.5,-298.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1211.5\" y=\"-283.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1201\" y=\"-268.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"1192\" y=\"-253.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1190.5\" y=\"-238.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 46&#45;&gt;50 -->\r\n",
       "<g id=\"edge50\" class=\"edge\"><title>46&#45;&gt;50</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1240.5,-341.907C1240.5,-331.204 1240.5,-319.615 1240.5,-308.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1244,-308.667 1240.5,-298.667 1237,-308.667 1244,-308.667\"/>\r\n",
       "</g>\r\n",
       "<!-- 48 -->\r\n",
       "<g id=\"node49\" class=\"node\"><title>48</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M1142.5,-179.5C1142.5,-179.5 1050.5,-179.5 1050.5,-179.5 1044.5,-179.5 1038.5,-173.5 1038.5,-167.5 1038.5,-167.5 1038.5,-123.5 1038.5,-123.5 1038.5,-117.5 1044.5,-111.5 1050.5,-111.5 1050.5,-111.5 1142.5,-111.5 1142.5,-111.5 1148.5,-111.5 1154.5,-117.5 1154.5,-123.5 1154.5,-123.5 1154.5,-167.5 1154.5,-167.5 1154.5,-173.5 1148.5,-179.5 1142.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1067.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1057\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"1048\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1046.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 47&#45;&gt;48 -->\r\n",
       "<g id=\"edge48\" class=\"edge\"><title>47&#45;&gt;48</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1099.11,-222.907C1098.75,-212.204 1098.35,-200.615 1097.98,-189.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1101.47,-189.541 1097.63,-179.667 1094.48,-189.781 1101.47,-189.541\"/>\r\n",
       "</g>\r\n",
       "<!-- 49 -->\r\n",
       "<g id=\"node50\" class=\"node\"><title>49</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M1288,-179.5C1288,-179.5 1185,-179.5 1185,-179.5 1179,-179.5 1173,-173.5 1173,-167.5 1173,-167.5 1173,-123.5 1173,-123.5 1173,-117.5 1179,-111.5 1185,-111.5 1185,-111.5 1288,-111.5 1288,-111.5 1294,-111.5 1300,-117.5 1300,-123.5 1300,-123.5 1300,-167.5 1300,-167.5 1300,-173.5 1294,-179.5 1288,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1207.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1197\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"1188\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1181\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 47&#45;&gt;49 -->\r\n",
       "<g id=\"edge49\" class=\"edge\"><title>47&#45;&gt;49</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1147.68,-222.907C1161.41,-211.101 1176.39,-198.217 1190.06,-186.45\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1192.65,-188.842 1197.95,-179.667 1188.08,-183.535 1192.65,-188.842\"/>\r\n",
       "</g>\r\n",
       "<!-- 53 -->\r\n",
       "<g id=\"node54\" class=\"node\"><title>53</title>\r\n",
       "<path fill=\"#c09cf2\" stroke=\"black\" d=\"M1381,-901C1381,-901 1264,-901 1264,-901 1258,-901 1252,-895 1252,-889 1252,-889 1252,-830 1252,-830 1252,-824 1258,-818 1264,-818 1264,-818 1381,-818 1381,-818 1387,-818 1393,-824 1393,-830 1393,-830 1393,-889 1393,-889 1393,-895 1387,-901 1381,-901\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1260\" y=\"-885.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.95</text>\r\n",
       "<text text-anchor=\"start\" x=\"1285\" y=\"-870.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"1279\" y=\"-855.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 27</text>\r\n",
       "<text text-anchor=\"start\" x=\"1270\" y=\"-840.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 9, 18]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1272.5\" y=\"-825.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 52&#45;&gt;53 -->\r\n",
       "<g id=\"edge53\" class=\"edge\"><title>52&#45;&gt;53</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1322.5,-936.907C1322.5,-928.649 1322.5,-919.864 1322.5,-911.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1326,-911.021 1322.5,-901.021 1319,-911.021 1326,-911.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 82 -->\r\n",
       "<g id=\"node83\" class=\"node\"><title>82</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M1520,-893.5C1520,-893.5 1423,-893.5 1423,-893.5 1417,-893.5 1411,-887.5 1411,-881.5 1411,-881.5 1411,-837.5 1411,-837.5 1411,-831.5 1417,-825.5 1423,-825.5 1423,-825.5 1520,-825.5 1520,-825.5 1526,-825.5 1532,-831.5 1532,-837.5 1532,-837.5 1532,-881.5 1532,-881.5 1532,-887.5 1526,-893.5 1520,-893.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1442.5\" y=\"-878.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1428\" y=\"-863.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 10</text>\r\n",
       "<text text-anchor=\"start\" x=\"1419\" y=\"-848.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 10]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1421.5\" y=\"-833.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 52&#45;&gt;82 -->\r\n",
       "<g id=\"edge82\" class=\"edge\"><title>52&#45;&gt;82</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1374.19,-936.907C1389.37,-924.99 1405.95,-911.976 1421.04,-900.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1423.56,-902.596 1429.26,-893.667 1419.24,-897.09 1423.56,-902.596\"/>\r\n",
       "</g>\r\n",
       "<!-- 54 -->\r\n",
       "<g id=\"node55\" class=\"node\"><title>54</title>\r\n",
       "<path fill=\"#b991f1\" stroke=\"black\" d=\"M1374,-782C1374,-782 1271,-782 1271,-782 1265,-782 1259,-776 1259,-770 1259,-770 1259,-711 1259,-711 1259,-705 1265,-699 1271,-699 1271,-699 1374,-699 1374,-699 1380,-699 1386,-705 1386,-711 1386,-711 1386,-770 1386,-770 1386,-776 1380,-782 1374,-782\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1267\" y=\"-766.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.4</text>\r\n",
       "<text text-anchor=\"start\" x=\"1285\" y=\"-751.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.426</text>\r\n",
       "<text text-anchor=\"start\" x=\"1279\" y=\"-736.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 26</text>\r\n",
       "<text text-anchor=\"start\" x=\"1270\" y=\"-721.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 8, 18]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1272.5\" y=\"-706.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 53&#45;&gt;54 -->\r\n",
       "<g id=\"edge54\" class=\"edge\"><title>53&#45;&gt;54</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1322.5,-817.907C1322.5,-809.649 1322.5,-800.864 1322.5,-792.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1326,-792.021 1322.5,-782.021 1319,-792.021 1326,-792.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 81 -->\r\n",
       "<g id=\"node82\" class=\"node\"><title>81</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M1519,-774.5C1519,-774.5 1416,-774.5 1416,-774.5 1410,-774.5 1404,-768.5 1404,-762.5 1404,-762.5 1404,-718.5 1404,-718.5 1404,-712.5 1410,-706.5 1416,-706.5 1416,-706.5 1519,-706.5 1519,-706.5 1525,-706.5 1531,-712.5 1531,-718.5 1531,-718.5 1531,-762.5 1531,-762.5 1531,-768.5 1525,-774.5 1519,-774.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1438.5\" y=\"-759.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1428\" y=\"-744.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"1419\" y=\"-729.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1412\" y=\"-714.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 53&#45;&gt;81 -->\r\n",
       "<g id=\"edge81\" class=\"edge\"><title>53&#45;&gt;81</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1372.81,-817.907C1387.58,-805.99 1403.71,-792.976 1418.4,-781.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1420.81,-783.67 1426.4,-774.667 1416.42,-778.223 1420.81,-783.67\"/>\r\n",
       "</g>\r\n",
       "<!-- 55 -->\r\n",
       "<g id=\"node56\" class=\"node\"><title>55</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M1374,-655.5C1374,-655.5 1271,-655.5 1271,-655.5 1265,-655.5 1259,-649.5 1259,-643.5 1259,-643.5 1259,-599.5 1259,-599.5 1259,-593.5 1265,-587.5 1271,-587.5 1271,-587.5 1374,-587.5 1374,-587.5 1380,-587.5 1386,-593.5 1386,-599.5 1386,-599.5 1386,-643.5 1386,-643.5 1386,-649.5 1380,-655.5 1374,-655.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1293.5\" y=\"-640.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1283\" y=\"-625.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"1274\" y=\"-610.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1267\" y=\"-595.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 54&#45;&gt;55 -->\r\n",
       "<g id=\"edge55\" class=\"edge\"><title>54&#45;&gt;55</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1322.5,-698.907C1322.5,-688.204 1322.5,-676.615 1322.5,-665.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1326,-665.667 1322.5,-655.667 1319,-665.667 1326,-665.667\"/>\r\n",
       "</g>\r\n",
       "<!-- 56 -->\r\n",
       "<g id=\"node57\" class=\"node\"><title>56</title>\r\n",
       "<path fill=\"#b286ef\" stroke=\"black\" d=\"M1664,-663C1664,-663 1553,-663 1553,-663 1547,-663 1541,-657 1541,-651 1541,-651 1541,-592 1541,-592 1541,-586 1547,-580 1553,-580 1553,-580 1664,-580 1664,-580 1670,-580 1676,-586 1676,-592 1676,-592 1676,-651 1676,-651 1676,-657 1670,-663 1664,-663\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1549\" y=\"-647.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 3.05</text>\r\n",
       "<text text-anchor=\"start\" x=\"1571\" y=\"-632.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.403</text>\r\n",
       "<text text-anchor=\"start\" x=\"1565\" y=\"-617.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 25</text>\r\n",
       "<text text-anchor=\"start\" x=\"1556\" y=\"-602.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 7, 18]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1558.5\" y=\"-587.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 54&#45;&gt;56 -->\r\n",
       "<g id=\"edge56\" class=\"edge\"><title>54&#45;&gt;56</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1386.2,-702.932C1388.98,-701.567 1391.76,-700.25 1394.5,-699 1438.7,-678.843 1489.89,-660.379 1531.12,-646.642\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1532.44,-649.892 1540.83,-643.431 1530.24,-643.246 1532.44,-649.892\"/>\r\n",
       "</g>\r\n",
       "<!-- 57 -->\r\n",
       "<g id=\"node58\" class=\"node\"><title>57</title>\r\n",
       "<path fill=\"#d0b5f5\" stroke=\"black\" d=\"M1667,-544C1667,-544 1550,-544 1550,-544 1544,-544 1538,-538 1538,-532 1538,-532 1538,-473 1538,-473 1538,-467 1544,-461 1550,-461 1550,-461 1667,-461 1667,-461 1673,-461 1679,-467 1679,-473 1679,-473 1679,-532 1679,-532 1679,-538 1673,-544 1667,-544\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1546\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.55</text>\r\n",
       "<text text-anchor=\"start\" x=\"1571\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.473</text>\r\n",
       "<text text-anchor=\"start\" x=\"1565\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 13</text>\r\n",
       "<text text-anchor=\"start\" x=\"1560\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 5, 8]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1558.5\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 56&#45;&gt;57 -->\r\n",
       "<g id=\"edge57\" class=\"edge\"><title>56&#45;&gt;57</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1608.5,-579.907C1608.5,-571.649 1608.5,-562.864 1608.5,-554.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1612,-554.021 1608.5,-544.021 1605,-554.021 1612,-554.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 70 -->\r\n",
       "<g id=\"node71\" class=\"node\"><title>70</title>\r\n",
       "<path fill=\"#9a61ea\" stroke=\"black\" d=\"M2094,-544C2094,-544 1983,-544 1983,-544 1977,-544 1971,-538 1971,-532 1971,-532 1971,-473 1971,-473 1971,-467 1977,-461 1983,-461 1983,-461 2094,-461 2094,-461 2100,-461 2106,-467 2106,-473 2106,-473 2106,-532 2106,-532 2106,-538 2100,-544 2094,-544\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1979\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 3.25</text>\r\n",
       "<text text-anchor=\"start\" x=\"2001\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.278</text>\r\n",
       "<text text-anchor=\"start\" x=\"1995\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 12</text>\r\n",
       "<text text-anchor=\"start\" x=\"1986\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 10]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1988.5\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 56&#45;&gt;70 -->\r\n",
       "<g id=\"edge70\" class=\"edge\"><title>56&#45;&gt;70</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1676.16,-602.09C1753.55,-581.034 1880,-546.626 1961.21,-524.531\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1962.15,-527.902 1970.88,-521.899 1960.31,-521.147 1962.15,-527.902\"/>\r\n",
       "</g>\r\n",
       "<!-- 58 -->\r\n",
       "<g id=\"node59\" class=\"node\"><title>58</title>\r\n",
       "<path fill=\"#a572ec\" stroke=\"black\" d=\"M1584,-425C1584,-425 1481,-425 1481,-425 1475,-425 1469,-419 1469,-413 1469,-413 1469,-354 1469,-354 1469,-348 1475,-342 1481,-342 1481,-342 1584,-342 1584,-342 1590,-342 1596,-348 1596,-354 1596,-354 1596,-413 1596,-413 1596,-419 1590,-425 1584,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1477\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.6</text>\r\n",
       "<text text-anchor=\"start\" x=\"1495\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.346</text>\r\n",
       "<text text-anchor=\"start\" x=\"1493\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 9</text>\r\n",
       "<text text-anchor=\"start\" x=\"1484\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 7]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1482.5\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 57&#45;&gt;58 -->\r\n",
       "<g id=\"edge58\" class=\"edge\"><title>57&#45;&gt;58</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1582.13,-460.907C1576.41,-452.105 1570.31,-442.703 1564.4,-433.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1567.2,-431.5 1558.82,-425.021 1561.33,-435.313 1567.2,-431.5\"/>\r\n",
       "</g>\r\n",
       "<!-- 65 -->\r\n",
       "<g id=\"node66\" class=\"node\"><title>65</title>\r\n",
       "<path fill=\"#7beeab\" stroke=\"black\" d=\"M1743,-425C1743,-425 1626,-425 1626,-425 1620,-425 1614,-419 1614,-413 1614,-413 1614,-354 1614,-354 1614,-348 1620,-342 1626,-342 1626,-342 1743,-342 1743,-342 1749,-342 1755,-348 1755,-354 1755,-354 1755,-413 1755,-413 1755,-419 1749,-425 1743,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1622\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.75</text>\r\n",
       "<text text-anchor=\"start\" x=\"1647\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.375</text>\r\n",
       "<text text-anchor=\"start\" x=\"1645\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"start\" x=\"1636\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1629\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 57&#45;&gt;65 -->\r\n",
       "<g id=\"edge65\" class=\"edge\"><title>57&#45;&gt;65</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1634.87,-460.907C1640.59,-452.105 1646.69,-442.703 1652.6,-433.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1655.67,-435.313 1658.18,-425.021 1649.8,-431.5 1655.67,-435.313\"/>\r\n",
       "</g>\r\n",
       "<!-- 59 -->\r\n",
       "<g id=\"node60\" class=\"node\"><title>59</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M1432,-298.5C1432,-298.5 1329,-298.5 1329,-298.5 1323,-298.5 1317,-292.5 1317,-286.5 1317,-286.5 1317,-242.5 1317,-242.5 1317,-236.5 1323,-230.5 1329,-230.5 1329,-230.5 1432,-230.5 1432,-230.5 1438,-230.5 1444,-236.5 1444,-242.5 1444,-242.5 1444,-286.5 1444,-286.5 1444,-292.5 1438,-298.5 1432,-298.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1351.5\" y=\"-283.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"1341\" y=\"-268.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"1332\" y=\"-253.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1325\" y=\"-238.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 58&#45;&gt;59 -->\r\n",
       "<g id=\"edge59\" class=\"edge\"><title>58&#45;&gt;59</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1479.76,-341.907C1464.14,-329.88 1447.06,-316.735 1431.54,-304.791\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1433.65,-301.993 1423.59,-298.667 1429.38,-307.54 1433.65,-301.993\"/>\r\n",
       "</g>\r\n",
       "<!-- 60 -->\r\n",
       "<g id=\"node61\" class=\"node\"><title>60</title>\r\n",
       "<path fill=\"#965ae9\" stroke=\"black\" d=\"M1591,-306C1591,-306 1474,-306 1474,-306 1468,-306 1462,-300 1462,-294 1462,-294 1462,-235 1462,-235 1462,-229 1468,-223 1474,-223 1474,-223 1591,-223 1591,-223 1597,-223 1603,-229 1603,-235 1603,-235 1603,-294 1603,-294 1603,-300 1597,-306 1591,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1470\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.45</text>\r\n",
       "<text text-anchor=\"start\" x=\"1495\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.245</text>\r\n",
       "<text text-anchor=\"start\" x=\"1493\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 7</text>\r\n",
       "<text text-anchor=\"start\" x=\"1484\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 6]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1482.5\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 58&#45;&gt;60 -->\r\n",
       "<g id=\"edge60\" class=\"edge\"><title>58&#45;&gt;60</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1532.5,-341.907C1532.5,-333.649 1532.5,-324.864 1532.5,-316.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1536,-316.021 1532.5,-306.021 1529,-316.021 1536,-316.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 61 -->\r\n",
       "<g id=\"node62\" class=\"node\"><title>61</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M1444.5,-179.5C1444.5,-179.5 1352.5,-179.5 1352.5,-179.5 1346.5,-179.5 1340.5,-173.5 1340.5,-167.5 1340.5,-167.5 1340.5,-123.5 1340.5,-123.5 1340.5,-117.5 1346.5,-111.5 1352.5,-111.5 1352.5,-111.5 1444.5,-111.5 1444.5,-111.5 1450.5,-111.5 1456.5,-117.5 1456.5,-123.5 1456.5,-123.5 1456.5,-167.5 1456.5,-167.5 1456.5,-173.5 1450.5,-179.5 1444.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1369.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1359\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"start\" x=\"1350\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 4]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1348.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 60&#45;&gt;61 -->\r\n",
       "<g id=\"edge61\" class=\"edge\"><title>60&#45;&gt;61</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1486.01,-222.907C1472.49,-211.101 1457.73,-198.217 1444.25,-186.45\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1446.32,-183.608 1436.49,-179.667 1441.72,-188.881 1446.32,-183.608\"/>\r\n",
       "</g>\r\n",
       "<!-- 62 -->\r\n",
       "<g id=\"node63\" class=\"node\"><title>62</title>\r\n",
       "<path fill=\"#c09cf2\" stroke=\"black\" d=\"M1590,-187C1590,-187 1487,-187 1487,-187 1481,-187 1475,-181 1475,-175 1475,-175 1475,-116 1475,-116 1475,-110 1481,-104 1487,-104 1487,-104 1590,-104 1590,-104 1596,-104 1602,-110 1602,-116 1602,-116 1602,-175 1602,-175 1602,-181 1596,-187 1590,-187\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1483\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.9</text>\r\n",
       "<text text-anchor=\"start\" x=\"1501\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"1499\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"1490\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1488.5\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 60&#45;&gt;62 -->\r\n",
       "<g id=\"edge62\" class=\"edge\"><title>60&#45;&gt;62</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1534.58,-222.907C1535.01,-214.558 1535.47,-205.671 1535.91,-197.02\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1539.41,-197.187 1536.42,-187.021 1532.41,-196.828 1539.41,-197.187\"/>\r\n",
       "</g>\r\n",
       "<!-- 63 -->\r\n",
       "<g id=\"node64\" class=\"node\"><title>63</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M1520,-68C1520,-68 1417,-68 1417,-68 1411,-68 1405,-62 1405,-56 1405,-56 1405,-12 1405,-12 1405,-6 1411,-0 1417,-0 1417,-0 1520,-0 1520,-0 1526,-0 1532,-6 1532,-12 1532,-12 1532,-56 1532,-56 1532,-62 1526,-68 1520,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1439.5\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1429\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"1420\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1413\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 62&#45;&gt;63 -->\r\n",
       "<g id=\"edge63\" class=\"edge\"><title>62&#45;&gt;63</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1512.43,-103.726C1506.84,-94.9703 1500.91,-85.7032 1495.29,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1498.12,-74.8399 1489.79,-68.2996 1492.22,-78.6103 1498.12,-74.8399\"/>\r\n",
       "</g>\r\n",
       "<!-- 64 -->\r\n",
       "<g id=\"node65\" class=\"node\"><title>64</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M1654.5,-68C1654.5,-68 1562.5,-68 1562.5,-68 1556.5,-68 1550.5,-62 1550.5,-56 1550.5,-56 1550.5,-12 1550.5,-12 1550.5,-6 1556.5,-0 1562.5,-0 1562.5,-0 1654.5,-0 1654.5,-0 1660.5,-0 1666.5,-6 1666.5,-12 1666.5,-12 1666.5,-56 1666.5,-56 1666.5,-62 1660.5,-68 1654.5,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1579.5\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1569\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"1560\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1558.5\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 62&#45;&gt;64 -->\r\n",
       "<g id=\"edge64\" class=\"edge\"><title>62&#45;&gt;64</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1564.57,-103.726C1570.16,-94.9703 1576.09,-85.7032 1581.71,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1584.78,-78.6103 1587.21,-68.2996 1578.88,-74.8399 1584.78,-78.6103\"/>\r\n",
       "</g>\r\n",
       "<!-- 66 -->\r\n",
       "<g id=\"node67\" class=\"node\"><title>66</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M1736,-298.5C1736,-298.5 1633,-298.5 1633,-298.5 1627,-298.5 1621,-292.5 1621,-286.5 1621,-286.5 1621,-242.5 1621,-242.5 1621,-236.5 1627,-230.5 1633,-230.5 1633,-230.5 1736,-230.5 1736,-230.5 1742,-230.5 1748,-236.5 1748,-242.5 1748,-242.5 1748,-286.5 1748,-286.5 1748,-292.5 1742,-298.5 1736,-298.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1655.5\" y=\"-283.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1645\" y=\"-268.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"1636\" y=\"-253.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1629\" y=\"-238.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 65&#45;&gt;66 -->\r\n",
       "<g id=\"edge66\" class=\"edge\"><title>65&#45;&gt;66</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1684.5,-341.907C1684.5,-331.204 1684.5,-319.615 1684.5,-308.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1688,-308.667 1684.5,-298.667 1681,-308.667 1688,-308.667\"/>\r\n",
       "</g>\r\n",
       "<!-- 67 -->\r\n",
       "<g id=\"node68\" class=\"node\"><title>67</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M1881,-306C1881,-306 1778,-306 1778,-306 1772,-306 1766,-300 1766,-294 1766,-294 1766,-235 1766,-235 1766,-229 1772,-223 1778,-223 1778,-223 1881,-223 1881,-223 1887,-223 1893,-229 1893,-235 1893,-235 1893,-294 1893,-294 1893,-300 1887,-306 1881,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1774\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.9</text>\r\n",
       "<text text-anchor=\"start\" x=\"1800.5\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"1790\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"1781\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1774\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 65&#45;&gt;67 -->\r\n",
       "<g id=\"edge67\" class=\"edge\"><title>65&#45;&gt;67</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1734.81,-341.907C1746.62,-332.379 1759.29,-322.148 1771.41,-312.37\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1773.7,-315.024 1779.28,-306.021 1769.3,-309.577 1773.7,-315.024\"/>\r\n",
       "</g>\r\n",
       "<!-- 68 -->\r\n",
       "<g id=\"node69\" class=\"node\"><title>68</title>\r\n",
       "<path fill=\"#39e581\" stroke=\"black\" d=\"M1741,-179.5C1741,-179.5 1638,-179.5 1638,-179.5 1632,-179.5 1626,-173.5 1626,-167.5 1626,-167.5 1626,-123.5 1626,-123.5 1626,-117.5 1632,-111.5 1638,-111.5 1638,-111.5 1741,-111.5 1741,-111.5 1747,-111.5 1753,-117.5 1753,-123.5 1753,-123.5 1753,-167.5 1753,-167.5 1753,-173.5 1747,-179.5 1741,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1660.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1650\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"1641\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1634\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 67&#45;&gt;68 -->\r\n",
       "<g id=\"edge68\" class=\"edge\"><title>67&#45;&gt;68</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1780.93,-222.907C1766.67,-210.99 1751.09,-197.976 1736.91,-186.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1739.1,-183.394 1729.19,-179.667 1734.62,-188.765 1739.1,-183.394\"/>\r\n",
       "</g>\r\n",
       "<!-- 69 -->\r\n",
       "<g id=\"node70\" class=\"node\"><title>69</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M1875.5,-179.5C1875.5,-179.5 1783.5,-179.5 1783.5,-179.5 1777.5,-179.5 1771.5,-173.5 1771.5,-167.5 1771.5,-167.5 1771.5,-123.5 1771.5,-123.5 1771.5,-117.5 1777.5,-111.5 1783.5,-111.5 1783.5,-111.5 1875.5,-111.5 1875.5,-111.5 1881.5,-111.5 1887.5,-117.5 1887.5,-123.5 1887.5,-123.5 1887.5,-167.5 1887.5,-167.5 1887.5,-173.5 1881.5,-179.5 1875.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1800.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1790\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"1781\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1779.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 67&#45;&gt;69 -->\r\n",
       "<g id=\"edge69\" class=\"edge\"><title>67&#45;&gt;69</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1829.5,-222.907C1829.5,-212.204 1829.5,-200.615 1829.5,-189.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1833,-189.667 1829.5,-179.667 1826,-189.667 1833,-189.667\"/>\r\n",
       "</g>\r\n",
       "<!-- 71 -->\r\n",
       "<g id=\"node72\" class=\"node\"><title>71</title>\r\n",
       "<path fill=\"#a572ec\" stroke=\"black\" d=\"M2097,-425C2097,-425 1980,-425 1980,-425 1974,-425 1968,-419 1968,-413 1968,-413 1968,-354 1968,-354 1968,-348 1974,-342 1980,-342 1980,-342 2097,-342 2097,-342 2103,-342 2109,-348 2109,-354 2109,-354 2109,-413 2109,-413 2109,-419 2103,-425 2097,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1976\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.45</text>\r\n",
       "<text text-anchor=\"start\" x=\"2001\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.346</text>\r\n",
       "<text text-anchor=\"start\" x=\"1999\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 9</text>\r\n",
       "<text text-anchor=\"start\" x=\"1990\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2, 7]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1988.5\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 70&#45;&gt;71 -->\r\n",
       "<g id=\"edge71\" class=\"edge\"><title>70&#45;&gt;71</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2038.5,-460.907C2038.5,-452.649 2038.5,-443.864 2038.5,-435.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2042,-435.021 2038.5,-425.021 2035,-435.021 2042,-435.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 80 -->\r\n",
       "<g id=\"node81\" class=\"node\"><title>80</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M2231.5,-417.5C2231.5,-417.5 2139.5,-417.5 2139.5,-417.5 2133.5,-417.5 2127.5,-411.5 2127.5,-405.5 2127.5,-405.5 2127.5,-361.5 2127.5,-361.5 2127.5,-355.5 2133.5,-349.5 2139.5,-349.5 2139.5,-349.5 2231.5,-349.5 2231.5,-349.5 2237.5,-349.5 2243.5,-355.5 2243.5,-361.5 2243.5,-361.5 2243.5,-405.5 2243.5,-405.5 2243.5,-411.5 2237.5,-417.5 2231.5,-417.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"2156.5\" y=\"-402.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"2146\" y=\"-387.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"2137\" y=\"-372.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 3]</text>\r\n",
       "<text text-anchor=\"start\" x=\"2135.5\" y=\"-357.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 70&#45;&gt;80 -->\r\n",
       "<g id=\"edge80\" class=\"edge\"><title>70&#45;&gt;80</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2089.5,-460.907C2104.47,-448.99 2120.83,-435.976 2135.72,-424.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2138.18,-426.633 2143.83,-417.667 2133.82,-421.156 2138.18,-426.633\"/>\r\n",
       "</g>\r\n",
       "<!-- 72 -->\r\n",
       "<g id=\"node73\" class=\"node\"><title>72</title>\r\n",
       "<path fill=\"#c09cf2\" stroke=\"black\" d=\"M2094,-306C2094,-306 1983,-306 1983,-306 1977,-306 1971,-300 1971,-294 1971,-294 1971,-235 1971,-235 1971,-229 1977,-223 1983,-223 1983,-223 2094,-223 2094,-223 2100,-223 2106,-229 2106,-235 2106,-235 2106,-294 2106,-294 2106,-300 2100,-306 2094,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1979\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 3.15</text>\r\n",
       "<text text-anchor=\"start\" x=\"2001\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"1999\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"1990\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1988.5\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 71&#45;&gt;72 -->\r\n",
       "<g id=\"edge72\" class=\"edge\"><title>71&#45;&gt;72</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2038.5,-341.907C2038.5,-333.649 2038.5,-324.864 2038.5,-316.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2042,-316.021 2038.5,-306.021 2035,-316.021 2042,-316.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 75 -->\r\n",
       "<g id=\"node76\" class=\"node\"><title>75</title>\r\n",
       "<path fill=\"#9a61ea\" stroke=\"black\" d=\"M2307,-306C2307,-306 2196,-306 2196,-306 2190,-306 2184,-300 2184,-294 2184,-294 2184,-235 2184,-235 2184,-229 2190,-223 2196,-223 2196,-223 2307,-223 2307,-223 2313,-223 2319,-229 2319,-235 2319,-235 2319,-294 2319,-294 2319,-300 2313,-306 2307,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"2192\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 3.15</text>\r\n",
       "<text text-anchor=\"start\" x=\"2214\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.278</text>\r\n",
       "<text text-anchor=\"start\" x=\"2212\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 6</text>\r\n",
       "<text text-anchor=\"start\" x=\"2203\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 5]</text>\r\n",
       "<text text-anchor=\"start\" x=\"2201.5\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 71&#45;&gt;75 -->\r\n",
       "<g id=\"edge75\" class=\"edge\"><title>71&#45;&gt;75</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2109.13,-343.703C2130.31,-332.069 2153.63,-319.257 2175.16,-307.431\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2176.87,-310.486 2183.95,-302.604 2173.5,-304.351 2176.87,-310.486\"/>\r\n",
       "</g>\r\n",
       "<!-- 73 -->\r\n",
       "<g id=\"node74\" class=\"node\"><title>73</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M2009.5,-179.5C2009.5,-179.5 1917.5,-179.5 1917.5,-179.5 1911.5,-179.5 1905.5,-173.5 1905.5,-167.5 1905.5,-167.5 1905.5,-123.5 1905.5,-123.5 1905.5,-117.5 1911.5,-111.5 1917.5,-111.5 1917.5,-111.5 2009.5,-111.5 2009.5,-111.5 2015.5,-111.5 2021.5,-117.5 2021.5,-123.5 2021.5,-123.5 2021.5,-167.5 2021.5,-167.5 2021.5,-173.5 2015.5,-179.5 2009.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"1934.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"1924\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"1915\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"1913.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 72&#45;&gt;73 -->\r\n",
       "<g id=\"edge73\" class=\"edge\"><title>72&#45;&gt;73</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2012.48,-222.907C2005.26,-211.652 1997.42,-199.418 1990.17,-188.106\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1993.1,-186.197 1984.76,-179.667 1987.21,-189.975 1993.1,-186.197\"/>\r\n",
       "</g>\r\n",
       "<!-- 74 -->\r\n",
       "<g id=\"node75\" class=\"node\"><title>74</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M2155,-179.5C2155,-179.5 2052,-179.5 2052,-179.5 2046,-179.5 2040,-173.5 2040,-167.5 2040,-167.5 2040,-123.5 2040,-123.5 2040,-117.5 2046,-111.5 2052,-111.5 2052,-111.5 2155,-111.5 2155,-111.5 2161,-111.5 2167,-117.5 2167,-123.5 2167,-123.5 2167,-167.5 2167,-167.5 2167,-173.5 2161,-179.5 2155,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"2074.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"2064\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"2055\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"2048\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 72&#45;&gt;74 -->\r\n",
       "<g id=\"edge74\" class=\"edge\"><title>72&#45;&gt;74</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2061.05,-222.907C2067.24,-211.763 2073.97,-199.658 2080.2,-188.439\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2083.28,-190.108 2085.07,-179.667 2077.16,-186.709 2083.28,-190.108\"/>\r\n",
       "</g>\r\n",
       "<!-- 76 -->\r\n",
       "<g id=\"node77\" class=\"node\"><title>76</title>\r\n",
       "<path fill=\"#c09cf2\" stroke=\"black\" d=\"M2306,-187C2306,-187 2197,-187 2197,-187 2191,-187 2185,-181 2185,-175 2185,-175 2185,-116 2185,-116 2185,-110 2191,-104 2197,-104 2197,-104 2306,-104 2306,-104 2312,-104 2318,-110 2318,-116 2318,-116 2318,-175 2318,-175 2318,-181 2312,-187 2306,-187\"/>\r\n",
       "<text text-anchor=\"start\" x=\"2193\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.8</text>\r\n",
       "<text text-anchor=\"start\" x=\"2214\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.444</text>\r\n",
       "<text text-anchor=\"start\" x=\"2212\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"2203\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 2]</text>\r\n",
       "<text text-anchor=\"start\" x=\"2201.5\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 75&#45;&gt;76 -->\r\n",
       "<g id=\"edge76\" class=\"edge\"><title>75&#45;&gt;76</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2251.5,-222.907C2251.5,-214.649 2251.5,-205.864 2251.5,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2255,-197.021 2251.5,-187.021 2248,-197.021 2255,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 79 -->\r\n",
       "<g id=\"node80\" class=\"node\"><title>79</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M2440.5,-179.5C2440.5,-179.5 2348.5,-179.5 2348.5,-179.5 2342.5,-179.5 2336.5,-173.5 2336.5,-167.5 2336.5,-167.5 2336.5,-123.5 2336.5,-123.5 2336.5,-117.5 2342.5,-111.5 2348.5,-111.5 2348.5,-111.5 2440.5,-111.5 2440.5,-111.5 2446.5,-111.5 2452.5,-117.5 2452.5,-123.5 2452.5,-123.5 2452.5,-167.5 2452.5,-167.5 2452.5,-173.5 2446.5,-179.5 2440.5,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"2365.5\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"2355\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"2346\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 3]</text>\r\n",
       "<text text-anchor=\"start\" x=\"2344.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 75&#45;&gt;79 -->\r\n",
       "<g id=\"edge79\" class=\"edge\"><title>75&#45;&gt;79</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2301.11,-222.907C2315.68,-210.99 2331.59,-197.976 2346.08,-186.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2348.44,-188.708 2353.96,-179.667 2344.01,-183.29 2348.44,-188.708\"/>\r\n",
       "</g>\r\n",
       "<!-- 77 -->\r\n",
       "<g id=\"node78\" class=\"node\"><title>77</title>\r\n",
       "<path fill=\"#8139e5\" stroke=\"black\" d=\"M2227.5,-68C2227.5,-68 2135.5,-68 2135.5,-68 2129.5,-68 2123.5,-62 2123.5,-56 2123.5,-56 2123.5,-12 2123.5,-12 2123.5,-6 2129.5,-0 2135.5,-0 2135.5,-0 2227.5,-0 2227.5,-0 2233.5,-0 2239.5,-6 2239.5,-12 2239.5,-12 2239.5,-56 2239.5,-56 2239.5,-62 2233.5,-68 2227.5,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"2152.5\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"2142\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"start\" x=\"2133\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 0, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"2131.5\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 76&#45;&gt;77 -->\r\n",
       "<g id=\"edge77\" class=\"edge\"><title>76&#45;&gt;77</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2225.43,-103.726C2219.84,-94.9703 2213.91,-85.7032 2208.29,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2211.12,-74.8399 2202.79,-68.2996 2205.22,-78.6103 2211.12,-74.8399\"/>\r\n",
       "</g>\r\n",
       "<!-- 78 -->\r\n",
       "<g id=\"node79\" class=\"node\"><title>78</title>\r\n",
       "<path fill=\"#ffffff\" stroke=\"black\" d=\"M2373,-68C2373,-68 2270,-68 2270,-68 2264,-68 2258,-62 2258,-56 2258,-56 2258,-12 2258,-12 2258,-6 2264,-0 2270,-0 2270,-0 2373,-0 2373,-0 2379,-0 2385,-6 2385,-12 2385,-12 2385,-56 2385,-56 2385,-62 2379,-68 2373,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"2292.5\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.5</text>\r\n",
       "<text text-anchor=\"start\" x=\"2282\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"start\" x=\"2273\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"2266\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 76&#45;&gt;78 -->\r\n",
       "<g id=\"edge78\" class=\"edge\"><title>76&#45;&gt;78</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2277.57,-103.726C2283.16,-94.9703 2289.09,-85.7032 2294.71,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2297.78,-78.6103 2300.21,-68.2996 2291.88,-74.8399 2297.78,-78.6103\"/>\r\n",
       "</g>\r\n",
       "</g>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<graphviz.files.Source at 0x17e23f50848>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dot_data = tree.export_graphviz(\n",
    "    sepal_tree_no_controls,\n",
    "    out_file=None,\n",
    "    feature_names=[\"sepal_length\", \"sepal_width\"],\n",
    "    class_names=[\"setosa\", \"versicolor\", \"virginica\"],\n",
    "    filled=True,\n",
    "    rounded=True,\n",
    "    special_characters=True)\n",
    "graph = graphviz.Source(dot_data)\n",
    "graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=10, error_score=nan,\n",
       "             estimator=DecisionTreeClassifier(ccp_alpha=0.0, class_weight=None,\n",
       "                                              criterion='gini', max_depth=None,\n",
       "                                              max_features=None,\n",
       "                                              max_leaf_nodes=None,\n",
       "                                              min_impurity_decrease=0.0,\n",
       "                                              min_impurity_split=None,\n",
       "                                              min_samples_leaf=1,\n",
       "                                              min_samples_split=2,\n",
       "                                              min_weight_fraction_leaf=0.0,\n",
       "                                              presort='deprecated',\n",
       "                                              random_state=None,\n",
       "                                              splitter='best'),\n",
       "             iid='deprecated', n_jobs=None,\n",
       "             param_grid={'min_impurity_decrease': [0, 0.01, 0.02, 0.05, 0.1]},\n",
       "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
       "             scoring=None, verbose=0)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "parameters = {'min_impurity_decrease': [0, 0.01, 0.02, 0.05, 0.1]}\n",
    "mindwg_decision_tree = tree.DecisionTreeClassifier()\n",
    "cv_model_finder = GridSearchCV(mindwg_decision_tree, parameters, cv=10)\n",
    "cv_model_finder.fit(train_iris_data[[\"sepal_length\", \"sepal_width\"]],\n",
    "                    train_iris_data[\"species\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'min_impurity_decrease': 0.02}"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cv_model_finder.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['setosa'], dtype=object)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mindwg_decision_tree_with_best_params = cv_model_finder.best_estimator_\n",
    "mindwg_decision_tree_with_best_params.predict([[4, 3.2]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DecisionTreeClassifier(ccp_alpha=0.0, class_weight=None, criterion='gini',\n",
       "                       max_depth=None, max_features=None, max_leaf_nodes=None,\n",
       "                       min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "                       min_samples_leaf=1, min_samples_split=2,\n",
       "                       min_weight_fraction_leaf=0.0, presort='deprecated',\n",
       "                       random_state=None, splitter='best')"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sepal_tree_no_controls"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(4, 8, 0.02), np.arange(1.9, 4.5, 0.02))\n",
    "\n",
    "Z_string = sepal_tree_no_controls.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "plt.savefig(\"iris_test_decision_boundaries_sepal_data_no_controls.png\",\n",
    "            dpi=300,\n",
    "            bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEACAYAAABfxaZOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAWCklEQVR4nO3df0xV9/3H8RegTOUicK2KAWEirVG0ghY7hAlr3VhNJdGlMchGxtRaV3FKaUWndXQSlGz1BxAVWWH+nLNbMG5m/linNLItw1k3FbBGKtUltHLVFRSVcr9/LLLdL+Dlpxf8PB+JSfM558D7mObpueceLm52u90uAIAR3F09AADg8SH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABhng6gE64q3cUtXdbnT1GECvW+f7W20MHubqMdCPWQf76qcz32x3e7+Ift3tRn12866rxwB6XZPb5/r8jpurx8ATjNs7AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABulS9JcuXapvfvObj9ynoaFBmZmZio6OVkREhBYtWqRPPvmkK98OANBDOh39Q4cO6fjx4073W7Fihf7whz8oPT1dGzduVG1trZKTk/XFF190aVAAQPd1Kvq1tbXKysqSv7//I/crLy/XqVOntHHjRs2ZM0ff+ta3VFxcrC+++EL79+/v1sAAgK7rVPTXrFmj6OhoRUVFPXK/06dPy8vLS9HR0S1rVqtVkZGRKi0t7dqkAIBu63D0Dx48qAsXLmjt2rVO971y5YqCg4Pl4eHhsB4UFKTq6urOTwkA6BEDOrLT9evXlZ2drezsbFmtVqf719fXy2KxtFr38vJSfX1956cEAPQIp1f6drtdq1evVmxsrOLj4zv0Re12e/vf0J2nRAHAVZxe6e/du1dVVVU6fPiwmpqaJP036k1NTfLw8JCbm5vDMRaLRdeuXWv1tRoaGtp8BQAAeDycRv/o0aO6efOmYmJiWm0LCwtTdna25s6d67A+ZswY/fnPf5bdbnf4B+Hq1asaM2ZMD4wNAOgKp9HPzMxUQ0ODw1p+fr4qKiqUl5enwMDAVsfExMRo+/btKisra3mCx2azqby8XIsXL+6h0QEAneU0+iEhIa3WfH195enpqUmTJkn6T9BramoUGhoqi8WiyMhITZs2TWlpaUpPT5evr69yc3Pl7e2txMTEnj8LAECH9Mi7qidPntS8efN04cKFlrW8vDy98MILysnJUUZGhvz9/VVcXCwfH5+e+JYAgC5wsz/qUZs+YsH6Y/rs5l1XjwH0ui3WXcoIHeHqMdCPDR9iVf7srHa38/wkABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+0IdkhI5w9Qh4wg1w9QCAJG2x7nL1CH1Chog+ehdX+nA5gg88PkQfAAxC9AHAIB2Kvt1uV3FxseLj4/Xss88qISFBhw8ffuQxhw4d0rhx41r9eeedd3pkcABA53XojdwdO3Zo69atSk1NVXh4uEpLS5Weni4PDw/NmjWrzWMqKysVHBysnJwch/Wnnnqq+1MDALrEafQfPHig9957T4mJiVqyZIkkKSoqSufPn9eePXvajX5VVZXCwsIUHh7esxMDALrMafQ9PDy0e/du+fr6OqwPHDhQd+7cafe4yspKJScnd39CAECPcXpP393dXePGjdPIkSNlt9t148YNFRQUqKysTPPmzWvzmM8++0x1dXW6ePGivv3tbyssLEzx8fEqKSnp8RMAAHRcp34469ixY1q2bJkkKS4uTgkJCW3uV1lZKUm6du2a3nzzTX3lK19RSUmJVq5cqS+//FLf+c53ujk2AKArOhX9CRMmaM+ePaqqqtKWLVv06quvateu1j9YM3HiRG3fvl2RkZGyWCySpJiYGNXV1WnLli1EHwBcpFPRHz16tEaPHt0S85UrV+rs2bOKiIhw2M9qteob3/hGq+NjY2NVVlYmm80mq9XavckBAJ3m9J7+rVu3VFJSotraWof1CRMmSFKrdUk6e/asDh482Gr93r17GjBggLy9vbs6LwCgG5xGv7m5WRkZGTpw4IDD+unTpyVJzzzzTKtjPvroI61Zs6bl3v7Dr3P06FFNmTJFAwcO7O7cAIAucHp7x2q1av78+SooKNCgQYM0adIknTlzRjt27NArr7yikJAQ2Ww21dTUKDQ0VBaLRXPnztXu3bu1dOlSLV++XF5eXtq3b58uXbqkvXv3Po7zAgC0oUP39FetWqVRo0bp/fffV25urvz9/ZWamqqFCxdKkk6ePKlVq1Zp165dev755+Xj46Pdu3fr5z//ubKzs1VfX6+JEyequLhYkydP7tUTAgC0z81ut9tdPYQzC9Yf02c377p6DPQSPlr5v/glKuiu4UOsyp+d1e52PmUTAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAxC9AHAIEQfAAzSoejb7XYVFxcrPj5ezz77rBISEnT48OFHHtPQ0KDMzExFR0crIiJCixYt0ieffNITMwMAumhAR3basWOHtm7dqtTUVIWHh6u0tFTp6eny8PDQrFmz2jxmxYoV+uc//6m33npLXl5eysvLU3Jysn7/+9/L29u7R08CANAxTqP/4MEDvffee0pMTNSSJUskSVFRUTp//rz27NnTZvTLy8t16tQp7dy5UzNmzJAkPffcc3rxxRe1f/9+vfrqqz18GgCAjnB6e8fDw0O7d+9uFeqBAwfq3r17bR5z+vRpeXl5KTo6umXNarUqMjJSpaWl3RwZANBVTqPv7u6ucePGaeTIkbLb7bpx44YKCgpUVlamefPmtXnMlStXFBwcLA8PD4f1oKAgVVdX98zkAIBO69A9/YeOHTumZcuWSZLi4uKUkJDQ5n719fWyWCyt1r28vFRfX9+FMQEAPaFTj2xOmDBBe/bs0dq1a/X3v/+93Xvzdru9/W/ozlOiAOAqnbrSHz16tEaPHq3IyEhZLBatXLlSZ8+eVUREhMN+FotF165da3V8Q0NDm68AAACPh9PL7lu3bqmkpES1tbUO6xMmTJCkVuuSNGbMGH366aetrvivXr2qMWPGdGdeAEA3OI1+c3OzMjIydODAAYf106dPS5KeeeaZVsfExMTo3//+t8rKylrWbDabysvLNX369O7ODADoIqe3d6xWq+bPn6+CggINGjRIkyZN0pkzZ7Rjxw698sorCgkJkc1mU01NjUJDQ2WxWBQZGalp06YpLS1N6enp8vX1VW5urry9vZWYmPg4zgsA0IYO3dNftWqVRo0apffff1+5ubny9/dXamqqFi5cKEk6efKkVq1apV27dun555+XJOXl5WnDhg3KyclRc3Ozpk6dqs2bN8vHx6f3zgYA8Ehu9kc9atNHLFh/TJ/dvOvqMdBLtlh3uXqEPiMjdISrR0A/N3yIVfmzs9rdzvOTAGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6AGAQog8ABiH6cCl+MAt4vDr10cquss73t2py+9zVYwBAv8eVPgAYhOgDgEGIPgAYhOgDgEGIPgAYhOgDgEGIPgAYhOgDgEGIPgAYhOgDgEGIPgAYhOgDgEGIPgAYhOgDgEGIPgAYhOgDgEGIPgAYhOgDgEGIPgAYpEO/I7e5uVkHDhzQvn37dO3aNQ0bNkwvvviiUlNTZbFY2jymvLxcSUlJrdbj4uK0Y8eO7k0NAOiSDkW/sLBQmzdv1oIFCxQVFaXq6mpt3bpVly9f1i9+8Ys2j6mqqtKQIUNUVFTksD506NDuTw0A6BKn0bfb7SosLNS8efP0xhtvSJKmT58uPz8/rVixQhUVFRo/fnyr4yorK/X0008rPDy856cGAHSJ03v6DQ0NSkhI0Msvv+ywHhISIkmqqalp87iKigqNGzeuB0YEAPQUp1f6FotFa9asabV+4sQJSVJoaGirbc3Nzfr444/l5+enOXPm6OOPP9ZTTz2l5ORkpaSkyM3NrQdGBwB0Vofu6f9/586dU0FBgWbOnKmxY8e22l5dXa3GxkZVV1crLS1Nfn5++uMf/6icnBzV19dr2bJl3R4cANB5nY7+mTNn9NprrykwMFDr169vc5+RI0dq586dGj9+vIYPHy5JioqKUmNjo3bu3Kkf/OAH7T71AwDoPZ16Tv/IkSNKSUnRqFGjVFxcLD8/vzb3s1gsmjFjRkvwH4qLi9P9+/dVXV3d9YkBAF3W4egXFRUpLS1N4eHh2rt3r0aMGNHuvlVVVdq3b58ePHjgsN7Y2ChJ7f5jAQDoXR2K/sGDB7Vhwwa99NJLKiwslLe39yP3v3r1qjIzM1VaWuqwfuTIEQUGBiogIKDrEwMAuszpPf26ujplZWUpICBASUlJunjxosP2oKAgeXp66vLlywoKCpLValVcXJwmTpyotWvXymazyd/fX4cPH9YHH3yg3Nxcnt4BABdxGv0PP/xQd+/e1fXr19v8WIWcnBz5+/srOTlZ2dnZmjt3rjw9PbVz505t3rxZeXl5stlsevrpp5WXl6eZM2f2yokAAJxzs9vtdlcP4UxN3mtquv25q8cAel1GaPvvlQEdMXyIVfmzs9rdzqdsAoBBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBiD4AGIToA4BBOhT95uZm7d+/X7Nnz1ZERIRmzpyp7Oxs1dfXt3tMU1OTNm/erNjYWE2ePFnz58/XP/7xjx4bHADQeR2KfmFhoX76058qLi5O+fn5SklJUUlJiX70ox+1e0xWVpaKi4u1aNEibdq0SR4eHvr+97+vTz/9tMeGBwB0zgBnO9jtdhUWFmrevHl64403JEnTp0+Xn5+fVqxYoYqKCo0fP97hmGvXrunAgQNau3atEhMTJUkxMTGKj49XYWGhMjMze+FUAADOOL3Sb2hoUEJCgl5++WWH9ZCQEElSTU1Nq2P+8pe/6Msvv1R8fHzLmqenp+Li4lRaWtrdmQEAXeT0St9isWjNmjWt1k+cOCFJCg0NbbXtypUr8vHxkdVqdVgPDg7Wv/71LzU2NmrQoEFdnRkA0EVdenrn3LlzKigo0MyZMzV27NhW2+vr62WxWFqte3l5SfrPqwcAwOPX6eifOXNGCxcuVGBgoNavX9/mPna7/ZHrbm5unf22AIAe0KnoHzlyRCkpKRo1apSKi4vl5+fX5n4Wi6XNq/mHa229CgAA9L4OR7+oqEhpaWkKDw/X3r17NWLEiHb3DQkJ0a1bt3T79m2H9atXryowMFCenp5dnxgA0GUdiv7Bgwe1YcMGvfTSSyosLJS3t/cj958+fbok6ejRoy1r9+/f16lTp1q2AQAeP6dP79TV1SkrK0sBAQFKSkrSxYsXHbYHBQXJ09NTly9fVlBQkKxWqwICAjRnzhytX79ed+7cUXBwsIqKinT79m0tXLiw104GAPBoTqP/4Ycf6u7du7p+/bqSkpJabc/JyZG/v7+Sk5OVnZ2tuXPnSpLeeecdDR06VAUFBbpz547CwsJUVFSk4ODgnj8LAECHuNnbe9SmD6nJe01Ntz939RhAr8sIbf+9MqAjhg+xKn92VrvbnV7p9wUe3sNcPQLwWAwfYnW+E/AI1sG+j9zeL670AQA9g8/TBwCDEH0AMAjRBwCDEH0AMAjRBwCDEH0AMAjRBwCDEH0AMAjRBwCD9PmPYVi6dKmqqqp0/PhxV4/SbzU1NWnKlCm6d++ew/qQIUN09uxZF03Vv/3tb3/Tu+++q4sXL8rb21vx8fFKS0tr+ZWg6Ji//vWvSk5Obnf7hg0bNGfOnMc40ZOvT0f/0KFDOn78uIKCglw9Sr9WXV2te/fuaePGjfrqV7/asu7uzgu9rvjoo4+UkpKiF154Qdu2bdPVq1f17rvvymazadOmTa4er18JCwvTgQMHHNbsdrt+/OMf686dO4qNjXXRZE+uPhv92tpaZWVlyd/f39Wj9HuVlZVyd3dXfHy8Bg8e7Opx+r2f/exnCg8P15YtW+Tm5qbp06erublZRUVFunv3Ln/HnWCxWBQeHu6w9stf/lLV1dX61a9+JauVD6DraX32Um/NmjWKjo5WVFSUq0fp9yoqKhQUFESMeoDNZlN5ebkSExPl5ubWsp6UlKQTJ07wd9xNN27c0JYtW5SYmKjJkye7epwnUp+M/sGDB3XhwgWtXbvW1aM8EaqqquTp6akFCxYoIiJCkZGRevvtt1VfX+/q0fqdS5cuyW63y8fHR8uXL1d4eLimTp2qdevWqbGx0dXj9Xtbt26Vu7u7li9f7upRnlh9LvrXr19Xdna21q1bx0u7HlJZWamamhrFxsaqoKBAP/zhD/W73/1OS5YsEZ+s3Tk2m02SlJGRIT8/P23btk2pqak6dOiQfvKTn7h2uH7OZrOppKRE3/3udzV06FBXj/PE6lP39O12u1avXq3Y2FjFx8e7epwnxqZNm+Tj46Nx48ZJkiIjIzVs2DC9+eabKisrU3R0tIsn7D8ePHggSZoyZYrWrVsnSYqKipLdbtfGjRv1+uuva/To0a4csd/69a9/rebm5kc+zYPu61NX+nv37lVVVZVWr16tpqYmNTU1tVyJ/u9/o3OmTZvWEvyH4uLiJP3nVQA67uEjmTNmzHBYj4mJkd1uV1VVlSvGeiIcPXpUX//613mF38v61JX+0aNHdfPmTcXExLTaFhYW5vCL19ExdXV1+uCDD/S1r33N4Qr04f1nPz8/V43WLz185PX+/fsO6w9fAfzvm7vouNraWl28eFEpKSmuHuWJ16ein5mZqYaGBoe1/Px8VVRUKC8vT4GBgS6arP9yc3PT22+/reTkZK1atapl/ciRI/Lw8NDUqVNdOF3/M3bsWAUEBOjIkSOaP39+y/qf/vQnDRgwQBERES6crv86d+6cJPH/42PQp6IfEhLSas3X11eenp6aNGmSCybq/6xWq5KSkrR7925ZLBY999xzOnPmjLZv366kpCQFBwe7esR+xc3NTenp6UpLS1N6errmzp2r8+fPa9u2bfre977HrYkuunTpkgYPHqyAgABXj/LE61PRR+9YuXKlRo4cqd/85jcqKCjQyJEjtWzZMi1cuNDVo/VLs2bNkqenp/Lz87V48WINGzZMr7/+uhYvXuzq0fqtGzdu8MTOY+Jm591RADBGn3p6BwDQu4g+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQYg+ABiE6AOAQf4PpBvQMpC3eBsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(4, 8, 0.02), np.arange(1.9, 4.5, 0.02))\n",
    "\n",
    "Z_string = mindwg_decision_tree_with_best_params.predict(np.c_[xx.ravel(),\n",
    "                                                               yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "plt.savefig(\"iris_test_decision_boundaries_sepal_data_best_mindwg.png\",\n",
    "            dpi=300,\n",
    "            bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Generated by graphviz version 2.38.0 (20140413.2041)\r\n",
       " -->\r\n",
       "<!-- Title: Tree Pages: 1 -->\r\n",
       "<svg width=\"564pt\" height=\"433pt\"\r\n",
       " viewBox=\"0.00 0.00 564.00 433.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 429)\">\r\n",
       "<title>Tree</title>\r\n",
       "<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-429 560,-429 560,4 -4,4\"/>\r\n",
       "<!-- 0 -->\r\n",
       "<g id=\"node1\" class=\"node\"><title>0</title>\r\n",
       "<path fill=\"#faf7fe\" stroke=\"black\" d=\"M337,-425C337,-425 220,-425 220,-425 214,-425 208,-419 208,-413 208,-413 208,-354 208,-354 208,-348 214,-342 220,-342 220,-342 337,-342 337,-342 343,-342 349,-348 349,-354 349,-354 349,-413 349,-413 349,-419 343,-425 337,-425\"/>\r\n",
       "<text text-anchor=\"start\" x=\"216\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 5.45</text>\r\n",
       "<text text-anchor=\"start\" x=\"241\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.665</text>\r\n",
       "<text text-anchor=\"start\" x=\"231\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 110</text>\r\n",
       "<text text-anchor=\"start\" x=\"218\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [33, 37, 40]</text>\r\n",
       "<text text-anchor=\"start\" x=\"228.5\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 1 -->\r\n",
       "<g id=\"node2\" class=\"node\"><title>1</title>\r\n",
       "<path fill=\"#e99559\" stroke=\"black\" d=\"M254,-306C254,-306 151,-306 151,-306 145,-306 139,-300 139,-294 139,-294 139,-235 139,-235 139,-229 145,-223 151,-223 151,-223 254,-223 254,-223 260,-223 266,-229 266,-235 266,-235 266,-294 266,-294 266,-300 260,-306 254,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"147\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 2.8</text>\r\n",
       "<text text-anchor=\"start\" x=\"165\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.251</text>\r\n",
       "<text text-anchor=\"start\" x=\"159\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 35</text>\r\n",
       "<text text-anchor=\"start\" x=\"150\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [30, 4, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"156.5\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;1 -->\r\n",
       "<g id=\"edge1\" class=\"edge\"><title>0&#45;&gt;1</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M252.132,-341.907C246.414,-333.105 240.307,-323.703 234.402,-314.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"237.204,-312.5 228.821,-306.021 231.333,-316.313 237.204,-312.5\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"223.626\" y=\"-326.775\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">True</text>\r\n",
       "</g>\r\n",
       "<!-- 4 -->\r\n",
       "<g id=\"node5\" class=\"node\"><title>4</title>\r\n",
       "<path fill=\"#ede3fb\" stroke=\"black\" d=\"M413,-306C413,-306 296,-306 296,-306 290,-306 284,-300 284,-294 284,-294 284,-235 284,-235 284,-229 290,-223 296,-223 296,-223 413,-223 413,-223 419,-223 425,-229 425,-235 425,-235 425,-294 425,-294 425,-300 419,-306 413,-306\"/>\r\n",
       "<text text-anchor=\"start\" x=\"292\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_length ≤ 6.25</text>\r\n",
       "<text text-anchor=\"start\" x=\"317\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.534</text>\r\n",
       "<text text-anchor=\"start\" x=\"311\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 75</text>\r\n",
       "<text text-anchor=\"start\" x=\"298\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 33, 39]</text>\r\n",
       "<text text-anchor=\"start\" x=\"304.5\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;4 -->\r\n",
       "<g id=\"edge4\" class=\"edge\"><title>0&#45;&gt;4</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M304.868,-341.907C310.586,-333.105 316.693,-323.703 322.598,-314.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"325.667,-316.313 328.179,-306.021 319.796,-312.5 325.667,-316.313\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"333.374\" y=\"-326.775\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">False</text>\r\n",
       "</g>\r\n",
       "<!-- 2 -->\r\n",
       "<g id=\"node3\" class=\"node\"><title>2</title>\r\n",
       "<path fill=\"#7beeab\" stroke=\"black\" d=\"M115,-179.5C115,-179.5 12,-179.5 12,-179.5 6,-179.5 -7.10543e-015,-173.5 -7.10543e-015,-167.5 -7.10543e-015,-167.5 -7.10543e-015,-123.5 -7.10543e-015,-123.5 -7.10543e-015,-117.5 6,-111.5 12,-111.5 12,-111.5 115,-111.5 115,-111.5 121,-111.5 127,-117.5 127,-123.5 127,-123.5 127,-167.5 127,-167.5 127,-173.5 121,-179.5 115,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"26\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.375</text>\r\n",
       "<text text-anchor=\"start\" x=\"24\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"start\" x=\"15\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 3, 1]</text>\r\n",
       "<text text-anchor=\"start\" x=\"8\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 1&#45;&gt;2 -->\r\n",
       "<g id=\"edge2\" class=\"edge\"><title>1&#45;&gt;2</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M154.275,-222.907C140.117,-210.99 124.655,-197.976 110.57,-186.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"112.808,-183.429 102.903,-179.667 108.3,-188.784 112.808,-183.429\"/>\r\n",
       "</g>\r\n",
       "<!-- 3 -->\r\n",
       "<g id=\"node4\" class=\"node\"><title>3</title>\r\n",
       "<path fill=\"#e68540\" stroke=\"black\" d=\"M254,-179.5C254,-179.5 157,-179.5 157,-179.5 151,-179.5 145,-173.5 145,-167.5 145,-167.5 145,-123.5 145,-123.5 145,-117.5 151,-111.5 157,-111.5 157,-111.5 254,-111.5 254,-111.5 260,-111.5 266,-117.5 266,-123.5 266,-123.5 266,-167.5 266,-167.5 266,-173.5 260,-179.5 254,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"168\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.062</text>\r\n",
       "<text text-anchor=\"start\" x=\"162\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 31</text>\r\n",
       "<text text-anchor=\"start\" x=\"153\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [30, 1, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"159.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 1&#45;&gt;3 -->\r\n",
       "<g id=\"edge3\" class=\"edge\"><title>1&#45;&gt;3</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M203.541,-222.907C203.815,-212.204 204.112,-200.615 204.39,-189.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"207.892,-189.753 204.65,-179.667 200.894,-189.574 207.892,-189.753\"/>\r\n",
       "</g>\r\n",
       "<!-- 5 -->\r\n",
       "<g id=\"node6\" class=\"node\"><title>5</title>\r\n",
       "<path fill=\"#a0f2c2\" stroke=\"black\" d=\"M405,-187C405,-187 300,-187 300,-187 294,-187 288,-181 288,-175 288,-175 288,-116 288,-116 288,-110 294,-104 300,-104 300,-104 405,-104 405,-104 411,-104 417,-110 417,-116 417,-116 417,-175 417,-175 417,-181 411,-187 405,-187\"/>\r\n",
       "<text text-anchor=\"start\" x=\"297\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">sepal_width ≤ 3.6</text>\r\n",
       "<text text-anchor=\"start\" x=\"315\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.511</text>\r\n",
       "<text text-anchor=\"start\" x=\"309\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 38</text>\r\n",
       "<text text-anchor=\"start\" x=\"296\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 24, 11]</text>\r\n",
       "<text text-anchor=\"start\" x=\"297\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 4&#45;&gt;5 -->\r\n",
       "<g id=\"edge5\" class=\"edge\"><title>4&#45;&gt;5</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M353.806,-222.907C353.663,-214.558 353.511,-205.671 353.364,-197.02\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"356.863,-196.959 353.193,-187.021 349.864,-197.079 356.863,-196.959\"/>\r\n",
       "</g>\r\n",
       "<!-- 8 -->\r\n",
       "<g id=\"node9\" class=\"node\"><title>8</title>\r\n",
       "<path fill=\"#aa79ed\" stroke=\"black\" d=\"M544,-179.5C544,-179.5 447,-179.5 447,-179.5 441,-179.5 435,-173.5 435,-167.5 435,-167.5 435,-123.5 435,-123.5 435,-117.5 441,-111.5 447,-111.5 447,-111.5 544,-111.5 544,-111.5 550,-111.5 556,-117.5 556,-123.5 556,-123.5 556,-167.5 556,-167.5 556,-173.5 550,-179.5 544,-179.5\"/>\r\n",
       "<text text-anchor=\"start\" x=\"458\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.368</text>\r\n",
       "<text text-anchor=\"start\" x=\"452\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 37</text>\r\n",
       "<text text-anchor=\"start\" x=\"443\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 9, 28]</text>\r\n",
       "<text text-anchor=\"start\" x=\"445.5\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = virginica</text>\r\n",
       "</g>\r\n",
       "<!-- 4&#45;&gt;8 -->\r\n",
       "<g id=\"edge8\" class=\"edge\"><title>4&#45;&gt;8</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M403.419,-222.907C417.781,-210.99 433.465,-197.976 447.753,-186.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"450.069,-188.746 455.53,-179.667 445.599,-183.359 450.069,-188.746\"/>\r\n",
       "</g>\r\n",
       "<!-- 6 -->\r\n",
       "<g id=\"node7\" class=\"node\"><title>6</title>\r\n",
       "<path fill=\"#94f1bb\" stroke=\"black\" d=\"M335,-68C335,-68 230,-68 230,-68 224,-68 218,-62 218,-56 218,-56 218,-12 218,-12 218,-6 224,-0 230,-0 230,-0 335,-0 335,-0 341,-0 347,-6 347,-12 347,-12 347,-56 347,-56 347,-62 341,-68 335,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"245\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.431</text>\r\n",
       "<text text-anchor=\"start\" x=\"239\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 35</text>\r\n",
       "<text text-anchor=\"start\" x=\"226\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 24, 11]</text>\r\n",
       "<text text-anchor=\"start\" x=\"227\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = versicolor</text>\r\n",
       "</g>\r\n",
       "<!-- 5&#45;&gt;6 -->\r\n",
       "<g id=\"edge6\" class=\"edge\"><title>5&#45;&gt;6</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M326.435,-103.726C320.837,-94.9703 314.913,-85.7032 309.289,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"312.123,-74.8399 303.787,-68.2996 306.225,-78.6103 312.123,-74.8399\"/>\r\n",
       "</g>\r\n",
       "<!-- 7 -->\r\n",
       "<g id=\"node8\" class=\"node\"><title>7</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M466,-68C466,-68 377,-68 377,-68 371,-68 365,-62 365,-56 365,-56 365,-12 365,-12 365,-6 371,-0 377,-0 377,-0 466,-0 466,-0 472,-0 478,-6 478,-12 478,-12 478,-56 478,-56 478,-62 472,-68 466,-68\"/>\r\n",
       "<text text-anchor=\"start\" x=\"392.5\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\r\n",
       "<text text-anchor=\"start\" x=\"382\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\r\n",
       "<text text-anchor=\"start\" x=\"373\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 0, 0]</text>\r\n",
       "<text text-anchor=\"start\" x=\"375.5\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = setosa</text>\r\n",
       "</g>\r\n",
       "<!-- 5&#45;&gt;7 -->\r\n",
       "<g id=\"edge7\" class=\"edge\"><title>5&#45;&gt;7</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M378.193,-103.726C383.711,-94.9703 389.55,-85.7032 395.094,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"398.147,-78.6259 400.517,-68.2996 392.224,-74.8941 398.147,-78.6259\"/>\r\n",
       "</g>\r\n",
       "</g>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<graphviz.files.Source at 0x17e2407be88>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dot_data = tree.export_graphviz(\n",
    "    mindwg_decision_tree_with_best_params,\n",
    "    out_file=None,\n",
    "    feature_names=[\"sepal_length\", \"sepal_width\"],\n",
    "    class_names=[\"setosa\", \"versicolor\", \"virginica\"],\n",
    "    filled=True,\n",
    "    rounded=True,\n",
    "    special_characters=True)\n",
    "graph = graphviz.Source(dot_data)\n",
    "graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(\n",
    "    test_iris_data[\"species\"],\n",
    "    mindwg_decision_tree_with_best_params.predict(\n",
    "        test_iris_data[[\"sepal_length\", \"sepal_width\"]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=10, error_score=nan,\n",
       "             estimator=DecisionTreeClassifier(ccp_alpha=0.0, class_weight=None,\n",
       "                                              criterion='gini', max_depth=None,\n",
       "                                              max_features=None,\n",
       "                                              max_leaf_nodes=None,\n",
       "                                              min_impurity_decrease=0.0,\n",
       "                                              min_impurity_split=None,\n",
       "                                              min_samples_leaf=1,\n",
       "                                              min_samples_split=2,\n",
       "                                              min_weight_fraction_leaf=0.0,\n",
       "                                              presort='deprecated',\n",
       "                                              random_state=None,\n",
       "                                              splitter='best'),\n",
       "             iid='deprecated', n_jobs=None,\n",
       "             param_grid={'ccp_alpha': [0, 0.01, 0.02, 0.05],\n",
       "                         'max_depth': [4, 5, 6, None],\n",
       "                         'min_impurity_decrease': [0, 0.01, 0.02, 0.05, 0.1],\n",
       "                         'min_samples_split': [2, 5, 10]},\n",
       "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
       "             scoring=None, verbose=0)"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parameters = {\n",
    "    'min_samples_split': [2, 5, 10],\n",
    "    'max_depth': [4, 5, 6, None],\n",
    "    'min_impurity_decrease': [0, 0.01, 0.02, 0.05, 0.1],\n",
    "    'ccp_alpha': [0, 0.01, 0.02, 0.05]\n",
    "}\n",
    "decision_tree_3hp = tree.DecisionTreeClassifier()\n",
    "cv_model_finder_3hp = GridSearchCV(decision_tree_3hp, parameters, cv=10)\n",
    "cv_model_finder_3hp.fit(train_iris_data[[\"sepal_length\", \"sepal_width\"]],\n",
    "                        train_iris_data[\"species\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'ccp_alpha': 0,\n",
       " 'max_depth': 4,\n",
       " 'min_impurity_decrease': 0.01,\n",
       " 'min_samples_split': 5}"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cv_model_finder_3hp.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "best_3hp_tree = cv_model_finder_3hp.best_estimator_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(4, 8, 0.02), np.arange(1.9, 4.5, 0.02))\n",
    "\n",
    "Z_string = best_3hp_tree.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "#plt.savefig(\"iris_test_decision_boundaries_sepal_data_best_3hp_tree.png\", dpi=300, bbox_inches = \"tight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Random Forests"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier(bootstrap=True, ccp_alpha=0.0, class_weight=None,\n",
       "                       criterion='gini', max_depth=None, max_features='auto',\n",
       "                       max_leaf_nodes=None, max_samples=None,\n",
       "                       min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "                       min_samples_leaf=1, min_samples_split=2,\n",
       "                       min_weight_fraction_leaf=0.0, n_estimators=100,\n",
       "                       n_jobs=None, oob_score=False, random_state=None,\n",
       "                       verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "random_forest_model = RandomForestClassifier()\n",
    "random_forest_model.fit(iris_data[[\"sepal_length\", \"sepal_width\"]],\n",
    "                        iris_data[\"species\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal_length</th>\n",
       "      <th>sepal_width</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5.1</td>\n",
       "      <td>3.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.9</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4.7</td>\n",
       "      <td>3.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.0</td>\n",
       "      <td>3.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5.4</td>\n",
       "      <td>3.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>4.6</td>\n",
       "      <td>3.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5.0</td>\n",
       "      <td>3.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>4.4</td>\n",
       "      <td>2.9</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sepal_length  sepal_width\n",
       "0           5.1          3.5\n",
       "1           4.9          3.0\n",
       "2           4.7          3.2\n",
       "3           4.6          3.1\n",
       "4           5.0          3.6\n",
       "5           5.4          3.9\n",
       "6           4.6          3.4\n",
       "7           5.0          3.4\n",
       "8           4.4          2.9"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris_data[[\"sepal_length\", \"sepal_width\"]].head(9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1.  , 0.  , 0.  ],\n",
       "       [0.99, 0.01, 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.98, 0.  , 0.02],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.9 , 0.1 , 0.  ],\n",
       "       [1.  , 0.  , 0.  ]])"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "random_forest_model.predict_proba(iris_data[[\"sepal_length\",\n",
    "                                             \"sepal_width\"]])[0:10, :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.9, 0.1, 0. ]])"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "random_forest_model.predict_proba([[4.4, 2.9]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(4, 8, 0.02), np.arange(1.9, 4.5, 0.02))\n",
    "\n",
    "Z_string = random_forest_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "plt.savefig(\"iris_decision_boundaries_random_forest_no_complexity_controls.png\",\n",
    "            dpi=300,\n",
    "            bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=10, error_score=nan,\n",
       "             estimator=RandomForestClassifier(bootstrap=True, ccp_alpha=0.0,\n",
       "                                              class_weight=None,\n",
       "                                              criterion='gini', max_depth=None,\n",
       "                                              max_features='auto',\n",
       "                                              max_leaf_nodes=None,\n",
       "                                              max_samples=None,\n",
       "                                              min_impurity_decrease=0.0,\n",
       "                                              min_impurity_split=None,\n",
       "                                              min_samples_leaf=1,\n",
       "                                              min_samples_split=2,\n",
       "                                              min_weight_fraction_leaf=0.0,\n",
       "                                              n_estimators=100, n_jobs=None,\n",
       "                                              oob_score=False,\n",
       "                                              random_state=None, verbose=0,\n",
       "                                              warm_start=False),\n",
       "             iid='deprecated', n_jobs=None,\n",
       "             param_grid={'min_impurity_decrease': [0, 0.01, 0.02, 0.05, 0.1],\n",
       "                         'n_estimators': [50, 100, 200, 300]},\n",
       "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
       "             scoring=None, verbose=0)"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "parameters = {\n",
    "    'min_impurity_decrease': [0, 0.01, 0.02, 0.05, 0.1],\n",
    "    'n_estimators': [50, 100, 200, 300]\n",
    "}\n",
    "random_forest_model = RandomForestClassifier()\n",
    "random_forest_cv = GridSearchCV(random_forest_model, parameters, cv=10)\n",
    "random_forest_cv.fit(train_iris_data[[\"sepal_length\", \"sepal_width\"]],\n",
    "                     train_iris_data[\"species\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'min_impurity_decrease': 0.01, 'n_estimators': 200}"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "random_forest_cv.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier(bootstrap=True, ccp_alpha=0.0, class_weight=None,\n",
       "                       criterion='gini', max_depth=None, max_features='auto',\n",
       "                       max_leaf_nodes=None, max_samples=None,\n",
       "                       min_impurity_decrease=0.01, min_impurity_split=None,\n",
       "                       min_samples_leaf=1, min_samples_split=2,\n",
       "                       min_weight_fraction_leaf=0.0, n_estimators=200,\n",
       "                       n_jobs=None, oob_score=False, random_state=None,\n",
       "                       verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "random_forest_cv.best_estimator_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "best_random_forest_model = random_forest_cv.best_estimator_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "sns_cmap = ListedColormap(np.array(sns.color_palette())[0:3, :])\n",
    "\n",
    "xx, yy = np.meshgrid(np.arange(4, 8, 0.02), np.arange(1.9, 4.5, 0.02))\n",
    "\n",
    "Z_string = best_random_forest_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "categories, Z_int = np.unique(Z_string, return_inverse=True)\n",
    "Z_int = Z_int\n",
    "Z_int = Z_int.reshape(xx.shape)\n",
    "cs = plt.contourf(xx, yy, Z_int, cmap=sns_cmap)\n",
    "#plt.savefig(\"iris_random_forest_decision_boundaries_mindwg_pt01.png\", dpi=300, bbox_inches = \"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
